0
4

1 回答 1

2

ObjC 中的工厂方法——即返回instancetype(或类的实际类型)并以类的通用名称开头的类方法——作为初始化器被导入到 Swift。

因此+(instancetype)arrayWithSomething:,名称包含的类上的方法Array被导入为init(something:). 在您的情况下,+arrayWithNSData:将导入为init(nsData:). (您可能认为它会删除“NS”,因为它还会将参数类型从转换为NSData等效的 Swift 值类型Foundation.Data……但事实并非如此。)

要找到这个和其他导入器效果,您可以通过查看源代码的“生成的接口”视图在 Xcode 中自己查看结果。检查跳转栏左侧的相关项目按钮,或助手编辑器。

有关更多详细信息,请阅读Apple 的Using Swift with Cocoa 和 Objective-C文档中的初始化。

于 2016-12-21T19:16:45.630 回答