1

考虑以下代码:

rankedGames at: rank ifAbsentPut: [SortedCollection sortBlock: [:one :two | one name < two name]].

我只在 Smalltalk 代码中看到过这种“方便”方法使用了几次,然后是 SortedCollection,没有直接的 Obj-C 等效项。什么是 Objective-C 等价物?

4

1 回答 1

0

什么是 Objective-C 等价物?

没有直接的等价物。NSMutableArray给你一个可以排序的有序集合,所以这可能是最接近SortedCollection. 我不知道单行等效于at:ifAbsentPut:,所以你通常会在几行中做到这一点:

// assume rankedGames is an array of mutable arrays
NSMutableArray *games = rankedGames[rank];
if (games == nil) {
    games = [NSMutableArray array];
}
于 2016-09-09T08:08:32.253 回答