import UIKit
var party: Party = Party()
struct list
{
var id = "id"
var startDate = "11/11/1111"
var name = "name"
var address = "address"
}
class Party: NSObject
{
var lists = list[]() <-- this one has "Type 'list.Type' has no subscript members"
func addParty(startDate:Date, name:String, address:String)
{
lists.append(list(startDate:startDate, name:name, address:address))
}
}
嗨,我是Swift和iOS Xcode的新手。我正在遵循YouTube教程,以列出待办事项列表,但是它说var lists = list的行给我错误。有人认识到这是什么问题吗?谢谢。
正确的数组初始化器语法是
var lists = [list]()
但是,您的代码不会编译,因为startDate
被声明为String
,但是传递了Date
参数。
将startDate
声明为当前Date
-这是Swift 3
var startDate = Date()
或更改addParty
func addParty(startDate:String, name:String, address:String)
您必须无论如何都必须更改初始化器,因为隐式成员的初始化器需要通过 ash parameters
lists.append(list(id:"id", startDate:startDate, name:name, address:address))
ps:请考虑迅速的命名惯例,即课程,结构和枚举以大写字母开头。
pps:如果教程建议所有新手错误都在寻找更好的教程
您的list
是构造,无法通过下标给您元素。只需替换
var lists = list[]()
var lists = list()
或 var lists = [list()]
如果要创建列表数组