【发布时间】:2016-04-19 15:47:51
【问题描述】:
我看到了另一个关于此的问题 (Understanding how to use methods found in Apple Developer Reference documentation),它似乎因为不够具体而被关闭,所以我想问一个具体的问题,看看我是否能得到与他们相同的答案试图到达。
我对此比较陌生,希望能够更好地阅读 Apple 文档,但我无法立即知道我是如何知道这一点的 (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/#//apple_ref/occ/instm/NSArray/initWithObjects:count:):
- (instancetype)initWithObjects:(ObjectType)firstObj
变成(类似)这个(例如):
rssFeedURLs = [[NSMutableArray alloc] initWithObjects: url1, url2, nil];
我确信它一旦“点击”就很容易了,所以我想知道您是否可以给我任何帮助,以便我可以更轻松地从基本层面真正理解这一点。
我现在正在阅读编程书籍、教程、视频等,以继续深入了解基础知识。无论出于何种原因,我都对理解 Apple Docs 方法感兴趣,将其转换为实际代码。
感谢您的耐心和时间!
【问题讨论】:
-
如果您查看给定方法的“参数”部分,通常会更好地描述每个参数的作用/如何使用它。例如,对于
initWithObjects:,文档说“以 nil 结尾的以逗号分隔的对象列表。”——这对您的情况非常有用。不幸的是,这个问题仍然主要基于意见(每个人的学习方式不同),因此我将投票结束。 -
所以
NSArray是instancetype,但是为什么他们把它放在()中呢?initWithObjects是方法。您将ObjectType传递给它。这就是我想要完全理解的事情,如何在我前进的过程中向自己解释它 -
instancetype是方法返回的值的类型(在这种情况下是一个新的NSArray实例)。所有方法返回类型都包含在()中,这只是obj-c 语法。initWithObjects:是方法的名称,ObjectType是一个lightweight generic type,表示要存储在数组中的对象的类型。 -
那非常有帮助,抱歉我的问题不符合参数,也许它应该,但感谢你对它很好。作为后续行动,我将如何使这个问题不那么基于意见?我放了一个具体的例子,但这一定不是你要找的。再次感谢!
-
问题的问题在于无论示例多么具体,“我如何更好地理解 Apple 文档”的基本问题都是基于意见的。我不确定有没有办法让你的问题不基于意见。我建议尝试在 obj-c 中构建一个简单的应用程序,使用 SO 来回答您可能对代码有的任何特定问题/问题。只要确保它是on topic,并且在询问之前做一些研究:)
标签: ios objective-c cocoa