<分区>
我在 Eureka 项目中遇到了一些奇怪的代码行 here
public subscript(indexPath: NSIndexPath) -> BaseRow {
return self[indexPath.section][indexPath.row]
}
这让我很困惑。它是如何工作的?
<分区>
我在 Eureka 项目中遇到了一些奇怪的代码行 here
public subscript(indexPath: NSIndexPath) -> BaseRow {
return self[indexPath.section][indexPath.row]
}
这让我很困惑。它是如何工作的?
最佳答案
Subscripts
Classes, structures, and enumerations can define subscripts, which are >shortcuts for accessing the member elements of a collection, list, or sequence. You use subscripts to set and retrieve values by index without needing separate methods for setting and retrieval. For example, you access elements in an Array instance as someArray[index] and elements in a Dictionary instance as someDictionary[key].
You can define multiple subscripts for a single type, and the appropriate >subscript overload to use is selected based on the type of index value you pass to the subscript. Subscripts are not limited to a single dimension, and you can define subscripts with multiple input parameters to suit your custom type’s needs.
• struct TimesTable {
let multiplier: Int
subscript(index: Int) -> Int {
return multiplier * index
}
}
let threeTimesTable = TimesTable(multiplier: 3)
println("six times three is \(threeTimesTable[6])")
// prints "six times three is 18"
关于ios - 订阅 self 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35485071/