objectAtIndexedSubscript

objectAtIndexedSubscript

我已经在stackoverflow和其他资源上进行了相当多的搜索,找不到答案。

NSArray方法objectAtIndexedSubscriptobjectAtIndex有什么区别?

或者,如果没有区别,为什么两者都存在?

Apple Docs中表示它们“相同”。

我是编程新手,但是如果它们完全相同,那不是违反DRY原理吗?显然,苹果公司的家伙知道他们在做什么,但是如果他们相同,为什么都提供他们两个人呢?也许更好的问题是,为什么我要在另一个上使用?

最佳答案

它们是相同的。
-objectAtIndex:是您应该使用的方法。
-objectAtIndexedSubscript:是提供对obj-c下标的支持的方法。换句话说,如果您说array[3],则编译器将使用此方法。但是对于NSArray*,它执行的操作与-objectAtIndex:完全相同。之所以使用另一种方法,是因为其他类可以实现此目的以支持obj-c下标,而不必使用通用名称的-objectAtIndex:

10-07 19:54