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)
无论如何你都必须更改初始化器,因为隐式成员初始化器需要传递所有参数
lists.append(list(id:"id", startDate:startDate, name:name, address:address))
PS:请考虑类、结构和枚举以大写字母开头的 Swift 命名约定。
PPS:如果教程提示所有新手错误,请寻找更好的教程
关于ios - Swift,类型 'list.Type' 没有下标成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937618/