问问题
160 次
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 回答