Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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 4方法?_Ios_Swift4 - Fatal编程技术网

Ios 如何将Objective-C写入下面的Swift 4方法?

Ios 如何将Objective-C写入下面的Swift 4方法?,ios,swift4,Ios,Swift4,下面是Objective-c代码。 我需要在Swift中使用此方法,如何在Swift4中书写? 我是新来的斯威夫特,请帮忙 -(NSMutableArray)dataArray { if(!_dataArray) { _dataArray = [NSMutableArray new]; } return _dataArray; } @property(nonatomic,strong) NSMutableArray *dataArray; 在Object

下面是Objective-c代码。 我需要在Swift中使用此方法,如何在Swift4中书写? 我是新来的斯威夫特,请帮忙

-(NSMutableArray)dataArray
{
    if(!_dataArray)
    {
        _dataArray = [NSMutableArray new];
    }
return _dataArray;
}
@property(nonatomic,strong) NSMutableArray *dataArray;

在Objective-C中使用的上述方法是在使用时将内存初始化为
dataArray
。它通常用于最小化内存消耗

在swift中,此过程由延迟实例化的属性处理,方法是在属性之前放置关键字
lazy
。只有在首次使用时,它才会将内存分配给属性

lazy var dataArray = [String]()
注意:在swift中,使用基于swift的数组,而不是
NSArray/NSMutableArray

如果您想对
数据阵列
进行一些定制,您可以像这样做:

lazy var dataArray: [String] = {
        var temp = [String]()
        temp.append("John Doe")
        return temp
        }()

您可以参考以下链接:

更喜欢Swift数组,而不是NSStuff,比如
NSArray
,为此,请使用
lazy var
var-dataArry=[您的元素类型]()
得到了很好的解释。