关闭。这个问题需要更多
focused .它目前不接受答案。
Best Answer-推荐答案 strong>
让我们从你写的错误概念开始,作为你的理解。
Which means that the instance type has been replaced by [NSArray alloc]
不,绝对不。为了解释这一点,我们将通过 Objective-C 的方法/消息语法。如果您掌握方法语法,您可以轻松阅读文档。现在不用管我为什么用方法写message。到帖子结束就会清楚。
-(instancetype)initWithObjectsid)firstObj
instancetype
- 返回方法的数据类型。这意味着返回类型与接收者相同。
initWithObjects:
- 方法签名。
id
- 方法参数的数据类型。 id
表示它可以是任何数据类型的对象
firstObj
- 方法参数
现在让我们看看 [NSArray alloc]
做了什么。这意味着 NSArray
的对象已被创建并为其分配内存,但尚未初始化。
消息 - Objective-C 使用消息传递作为调用方法的一种方式。一条消息被发送到接收者,接收者基本上就是拥有相关方法实现的对象。
因此,当 initWithObjects:
的消息发送到 NSArray
的原始对象时,这意味着 NSArray
类将具有此方法的实现,并且一旦完成,它将返回一个 NSArray
的对象
消息传递对于初学者来说有点难以理解,如果现在还不清楚,那么我建议你掌握好语言,然后尝试理解它。但请阅读 Working with Objects 的完整部分有清晰的画面。
Is learning Swift concurrently going to help?
完全基于@Amadan 已经提到的意见。我个人觉得它会弄乱你的想法。先学一门语言,再学区别。
关于ios - 了解如何阅读 iOS 文档和 API 引用,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27541523/