繁体   English   中英

无法弄清楚如何附加到数组(结构内)(Swift)

[英]Can't figure out how to append to an array (within a struct) (Swift)

我完全被困住了。 我正在使用Swift构建iOS应用。 我需要在一个结构中定义一系列工具,但是如果我包含4个以上的项目,则Xcode会卡住索引。

在此处找到针对该特定问题的解决方案: https : //stackoverflow.com/a/27531394 但是,我不知道如何追加到数组。 当我尝试执行以下代码时,出现以下错误:“期望的声明”。 有任何想法吗?

import Foundation

struct Toolkit {
    var tools = [ [
        "name": "Know Yourself to Lead Yourself",
        "shape": "icon_knowyourself.pdf",
        "image": "know_yourself_to_lead_yourself.pdf",
        "backgroundColor": ["red": 215, "green": 34, "blue": 14, "alpha": 1.0]
        ],
        [
        "name": "The Core",
        "shape": "icon_thecore.pdf",
        "image": "the_core.pdf",
        "backgroundColor": ["red": 185, "green": 34, "blue": 14, "alpha": 1.0]
        ],
        [
        "name": "5 Circles of Influence",
        "shape": "icon_5circles.pdf",
        "image": "5_circles_of_influence.pdf",
        "backgroundColor": ["red": 185, "green": 34, "blue": 14, "alpha": 1.0]
        ],
        [
        "name": "Support Challenge Matrix",
        "shape": "icon_supportchallenge.pdf",
        "image": "support_challenge_matrix.pdf",
        "backgroundColor": ["red": 205, "green": 34, "blue": 14, "alpha": 1.0]
        ]
    ]
    tools.append([
        "name": "Creating Healthy Culture",
        "shape": "icon_healthyculture.pdf",
        "image": "creating_healthy_culture.pdf",
        "backgroundColor": ["red": 185, "green": 34, "blue": 14, "alpha": 1.0]
    ])

}

在定义结构或类的接口时,可以执行哪些类型的操作存在限制。 您可以对值进行一些基本的初始化,但是不允许调用诸如append()之类的方法。 这是对您的代码的快速调整,在该代码中,我将附加内容移到了init()方法中:

struct Toolkit {
    var tools = [ [
        "name": "Know Yourself to Lead Yourself",
        "shape": "icon_knowyourself.pdf",
        "image": "know_yourself_to_lead_yourself.pdf",
        "backgroundColor": ["red": 215, "green": 34, "blue": 14, "alpha": 1.0]
        ],
        [
            "name": "The Core",
            "shape": "icon_thecore.pdf",
            "image": "the_core.pdf",
            "backgroundColor": ["red": 185, "green": 34, "blue": 14, "alpha": 1.0]
        ],
        [
            "name": "5 Circles of Influence",
            "shape": "icon_5circles.pdf",
            "image": "5_circles_of_influence.pdf",
            "backgroundColor": ["red": 185, "green": 34, "blue": 14, "alpha": 1.0]
        ],
        [
            "name": "Support Challenge Matrix",
            "shape": "icon_supportchallenge.pdf",
            "image": "support_challenge_matrix.pdf",
            "backgroundColor": ["red": 205, "green": 34, "blue": 14, "alpha": 1.0]
        ]
    ]

    init() {
        tools.append([
            "name": "Creating Healthy Culture",
            "shape": "icon_healthyculture.pdf",
            "image": "creating_healthy_culture.pdf",
            "backgroundColor": ["red": 185, "green": 34, "blue": 14, "alpha": 1.0]
        ])
    }
}

let kit = Toolkit()
println(kit.tools)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM