Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Arrays 向数组中添加变量_Arrays_Swift - Fatal编程技术网

Arrays 向数组中添加变量

Arrays 向数组中添加变量,arrays,swift,Arrays,Swift,这是我的结构,下面有这样的变量 struct Section { var name: String! var items: [String]! var collapsed: Bool! init(name: String, items: [String], collapsed: Bool = false) { self.name = name self.items = items self.collapsed =

这是我的结构,下面有这样的变量

struct Section {
    var name: String!
    var items: [String]!
    var collapsed: Bool!

    init(name: String, items: [String], collapsed: Bool = false) {
        self.name = name
        self.items = items
        self.collapsed = collapsed
    }
}
如何将新名称添加到我的
阵列1
?我不想附加我需要下面这样的东西

var array1 : Section = Section(name:"",items:[])

如果我理解正确,您可以用以下方式替换名称:

sections = [
            Section(name: "Mac", items: ["MacBook", "MacBook Air", "MacBook Pro", "iMac", "Mac Pro", "Mac mini", "Accessories", "OS X El Capitan"]),
            Section(name: "iPad", items: ["iPad Pro", "iPad Air 2", "iPad mini 4", "Accessories"]),
            Section(name: "iPhone", items: ["iPhone 6s", "iPhone 6", "iPhone SE", "Accessories"]),
        ]
编辑:

var array1 : Section = Section(name:"",items:[])
array1.name = "New Name"
print(array1)  //Section(name: New Name, items: [], collapsed: false)
如您所见,
array1.name
为空,您添加了
“New FamilyName”
。结果,它将为您提供
“新家庭名称”

但是如果您的
数组1.name中有值

var array1 : Section = Section(name:"",items:[])

array1.name.append("New FamilyName")    //"New FamilyName"
array1.name                             //"New FamilyName"
这将把新字符串附加到现有字符串中

现在,如果不使用append完全替换

var array1 : Section = Section(name:"New Name",items:[])

array1.name.append("New FamilyName")    //"New NameNew FamilyName"
array1.name                             //"New NameNew FamilyName"

您需要的是使array1本身成为一个节数组:

var array1 : Section = Section(name:"New Name",items:[])

array1.name                           //"New Name"
array1.name = "Complete New Value"    //replace original value 
array1.name                           //"Complete New Value"  
print(array1)                         //"Section(name: Complete New Value, items: [], collapsed: false)\n"

array1.name=“new name”
?如果我使用array1.name.append(“new FamilyName”),它将显示部分(名称:new name,new Family name,items:[],折叠:false),但我想显示部分(名称:new name…)。节(名称:New FamilyName),这意味着您正在向字符串中追加字符。可以更新我的答案。但我不想替换我希望保留新名称并创建新名称的内容,例如节(名称:NewName,项:[],colaps:false)节(名称:FamilyName,项:[],折叠:true)那么您想在
array1
中添加新对象吗?
var array1: [Section] = []

array1.append(Section(name: "Mac", items: ["MacBook", "MacBook Air", "MacBook Pro", "iMac", "Mac Pro", "Mac mini", "Accessories", "OS X El Capitan"]))

array1.append(Section(name: "iPad", items: ["iPad Pro", "iPad Air 2", "iPad mini 4", "Accessories"]))

array1.append(Section(name: "iPhone", items: ["iPhone 6s", "iPhone 6", "iPhone SE", "Accessories"]))