Ios 如何调用Objective-C';Swift中的NSArray类方法?
我想在Swift中使用Ios 如何调用Objective-C';Swift中的NSArray类方法?,ios,cocoa,swift,Ios,Cocoa,Swift,我想在Swift中使用NSArray的arrayWithContentsOfFile方法,因为我必须从文件的内容创建Swift数组,但是如何从Swift代码中调用它 由于arrayWithContentsOfFile:是在Objective-C的内置NSArray类型中实现的一个类方法,因此我不能按调用的方式调用它,它通过将Swift的数组类型转换为Objective-C的NSArray来调用实例方法 那么,有什么方法可以调用该方法或类似的任何等效方法吗?该方法可以像这样在Swift中调用: N
NSArray
的arrayWithContentsOfFile
方法,因为我必须从文件的内容创建Swift数组,但是如何从Swift代码中调用它
由于arrayWithContentsOfFile:
是在Objective-C的内置NSArray
类型中实现的一个类方法,因此我不能按调用的方式调用它,它通过将Swift的数组
类型转换为Objective-C的NSArray
来调用实例方法
那么,有什么方法可以调用该方法或类似的任何等效方法吗?该方法可以像这样在Swift中调用:
NSArray(内容文件:“路径”)
使用类似这样的方法:NSArray.arrayWithContentsOfFile(“PATH”)
不推荐使用
这是一个构造函数,应按以下方式使用:
var array = NSArray(contentsOfFile: "PATH")
该方法可以在Swift中调用,如下所示:
NSArray(内容文件:“路径”)
使用类似这样的方法:NSArray.arrayWithContentsOfFile(“PATH”)
不推荐使用
这是一个构造函数,应按以下方式使用:
var array = NSArray(contentsOfFile: "PATH")
从技术上讲,这里有两种不同的方法
NSArray(contentsOfFile:“PATH”)
调用Objective-C中的-initWithContentsOfFile:
,而NSArray.arrayWithContentsOfFile(“PATH”)
(注意:不withContentsOfFile
)调用+arrayWithContentsOfFile:
。确实,当初始值设定项可用时,初始值设定项优于类方法。@newacct-Yes;但是,NSArray.arrayWithContentsOfFile(“PATH”)
已弃用,因此不应使用,正如我在回答中所述。它不仅弃用,而且在Swift中不可用。编译器将ObjC初始值设定项映射到Swift初始值设定项,然后禁用ObjC便利构造函数,因为已知它只调用类似名称的初始值设定项NSArray(contentsOfFile:“PATH”)
调用Objective-C中的-initWithContentsOfFile:
,而NSArray.arrayWithContentsOfFile(“PATH”)
(注意:不withContentsOfFile
)调用+arrayWithContentsOfFile:
。确实,当初始值设定项可用时,初始值设定项优于类方法。@newacct-Yes;但是,NSArray.arrayWithContentsOfFile(“PATH”)
已弃用,因此不应使用,正如我在回答中所述。它不仅弃用,而且在Swift中不可用。编译器将ObjC初始值设定项映射到Swift初始值设定项,然后禁用ObjC便利构造函数,因为已知它只调用类似命名的初始值设定项。