我正在尝试编写一个包含对象数组变量的Swift类。有没有更好的写法?
var myvar: Array<MyClass> = Array<MyClass>()
如果不加等号后面的内容,编译器会抱怨我的AppDelegate没有初始化程序。上述方法似乎有点冗长(虽然我猜它不比C#的等价物更简洁)。我只想知道是否有快捷方式。谢谢。
我正在尝试编写一个包含对象数组变量的Swift类。有没有更好的写法?
var myvar: Array<MyClass> = Array<MyClass>()
如果不加等号后面的内容,编译器会抱怨我的AppDelegate没有初始化程序。上述方法似乎有点冗长(虽然我猜它不比C#的等价物更简洁)。我只想知道是否有快捷方式。谢谢。
To create an empty array or dictionary, use the initialiser syntax.
let emptyArray = [String]()
let emptyDictionary = [String: Float]()
let individualScores = [75, 43, 103, 87, 12]
let interestingNumbers = [
"Prime": [2, 3, 5, 7, 11, 13],
"Fibonacci": [1, 1, 2, 3, 5, 8],
"Square": [1, 4, 9, 16, 25],
]
var myvar: Array<MyClass> = []
或者使用自动类型推断:
var myvar = Array<MyClass>()
Array<MyClass>
写成[MyClass]
。
[MyClass]
优于Array<MyClass>
,请参阅 https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html: “虽然这两种形式在功能上是相同的,但简写形式更受欢迎…” –var myvar: [MyClass] = []
和var myvar = [MyClass]()
都可以,这只是个人偏好的问题。 - Martin R