21

我在stackoverflow和其他资源上搜索了很多,找不到答案。

objectAtIndexedSubscriptNSArray 方法和NSArray 方法有什么区别objectAtIndex

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

Apple Docs中,它说它们是“相同的”。

我对编程非常陌生,但如果它们相同,那不是违反 DRY 原则吗?显然,Apple 的人知道他们在做什么,但是如果它们相同,为什么它们都提供呢?或者也许一个更好的问题是,为什么我应该使用一个而不是另一个?

4

1 回答 1

34

它们是相同的。

-objectAtIndex:是您应该使用的方法。

-objectAtIndexedSubscript:是为 obj-c 下标提供支持的方法。换句话说,如果你说,这个方法就是编译器使用的array[3]。但因为NSArray*它与-objectAtIndex:. 它是不同方法的原因是其他类可以实现它以支持 obj-c 下标,而不必使用通用命名的-objectAtIndex:.

于 2013-01-30T21:03:09.083 回答