考虑以下代码:
rankedGames at: rank ifAbsentPut: [SortedCollection sortBlock: [:one :two | one name < two name]].
我只在 Smalltalk 代码中看到过这种“方便”方法使用了几次,然后是 SortedCollection,没有直接的 Obj-C 等效项。什么是 Objective-C 等价物?
考虑以下代码:
rankedGames at: rank ifAbsentPut: [SortedCollection sortBlock: [:one :two | one name < two name]].
我只在 Smalltalk 代码中看到过这种“方便”方法使用了几次,然后是 SortedCollection,没有直接的 Obj-C 等效项。什么是 Objective-C 等价物?
什么是 Objective-C 等价物?
没有直接的等价物。NSMutableArray
给你一个可以排序的有序集合,所以这可能是最接近SortedCollection
. 我不知道单行等效于at:ifAbsentPut:
,所以你通常会在几行中做到这一点:
// assume rankedGames is an array of mutable arrays
NSMutableArray *games = rankedGames[rank];
if (games == nil) {
games = [NSMutableArray array];
}