Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何调用Objective-C';Swift中的NSArray类方法?_Ios_Cocoa_Swift - Fatal编程技术网

Ios 如何调用Objective-C';Swift中的NSArray类方法?

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

我想在Swift中使用
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便利构造函数,因为已知它只调用类似命名的初始值设定项。