What does a square-bracketed index after an NSArray mean?
本问题已经有最佳答案,请猛点这里访问。
通过iTunes U为iPhone和iPad开发iOS 7应用程序,以及在第120页的第3课幻灯片中,有一个小测验问题询问以下代码行的作用。坦白说,我有点头疼,希望有人能把它弄坏。
1 | cardA.contents = @[cardB.contents,cardC.contents][[cardB match:@[cardC]] ? 1 : 0]; |
所以,我得到了第一部分,
这是我没有"得到"的,可能只是语法问题……这是什么?
如何
1 | cardA.contents = @[cardB.contents,cardC.contents][0]; |
或
1 | cardA.contents = @[cardB.contents,cardC.contents][1]; |
有效吗?或者,我错过了什么?
你的理解是完全正确的;你只是缺少了一点语法。使用
它被编译器转换为对
像往常一样,写出来是有道理的。字面意思是,如果cardb与cardc匹配,则使用[1]的索引(cardc),如果不匹配,则使用[0]的索引(cardb)
所以,
1 2 | cardA.contents = cardB.contents // if does NOT match cardA.contents = cardC.contents // if matches |
(基于索引)。
嗯…抱歉问了个愚蠢的问题…