如果数组位于单例 class 中,为什么我不能将项目添加到数组中?
Why can't I add items to an array if it is inside a singleton class?
我有一个单例 class 看起来像这样:
class DataAccess {
var teamUrl = NSArray()
}
let sharedData = DataAccess()
这被保存为 .swift
文件。
我正在尝试从我的一个视图控制器向该数组添加一个项目。我用来尝试将项目添加到数组的代码是这样的:
sharedData.teamUrl.append(teamUrl.text)
不过我收到一条错误消息。错误信息是:
'NSArray' does not have member names 'append'
我知道这与我的单例有关,因为我在视图控制器中创建了一个数组并相应地更改了代码并且它起作用了。
我也试过把单例class改成这样:
class DataAccess {
var teamUrl = []
}
let sharedData = DataAccess()
不过我收到了同样的错误。
我不确定为什么这不起作用。请有人能够解释我哪里出错了?
补充一点,虽然我将它们称为单例,但我不是 100% 确定它们是 - 它只是我在学习不同视图之间传输数据时在教程中提到的名称.
尝试 var teamUrl: [String] = []
而不是 var teamUrl = []
。这将创建一个原生 Swift 数组,而不是 NSArray
,并且它有一个 .append
方法。
我有一个单例 class 看起来像这样:
class DataAccess {
var teamUrl = NSArray()
}
let sharedData = DataAccess()
这被保存为 .swift
文件。
我正在尝试从我的一个视图控制器向该数组添加一个项目。我用来尝试将项目添加到数组的代码是这样的:
sharedData.teamUrl.append(teamUrl.text)
不过我收到一条错误消息。错误信息是:
'NSArray' does not have member names 'append'
我知道这与我的单例有关,因为我在视图控制器中创建了一个数组并相应地更改了代码并且它起作用了。
我也试过把单例class改成这样:
class DataAccess {
var teamUrl = []
}
let sharedData = DataAccess()
不过我收到了同样的错误。
我不确定为什么这不起作用。请有人能够解释我哪里出错了?
补充一点,虽然我将它们称为单例,但我不是 100% 确定它们是 - 它只是我在学习不同视图之间传输数据时在教程中提到的名称.
尝试 var teamUrl: [String] = []
而不是 var teamUrl = []
。这将创建一个原生 Swift 数组,而不是 NSArray
,并且它有一个 .append
方法。