如何命名结构实例的内容-变量的内容-Swift

问题描述 投票:0回答:1

几乎可以肯定有一种更好的方法,我很想知道,但是我不能在一个问题中用语表达,所以本质上这是我的问题:

我正在创建一个显示项目列表的应用程序(在表视图中),其中包含与项目(String Int Date ect)一起附带的各种数据。我决定最好的存储方法是在结构中,因为它允许我存储丢失的不同类型的数据以及在其上运行进程。

问题是,从理论上讲,我想在列表中包含无数个项目,因此我需要丢失Item结构的实例而无需预先确定每个实例的名称。

然后我将这些实例名称存储在数组中,以便可以在表视图中列出它们。

我已经花了数小时寻找了这一点,但我完全无法理解,我确信它非常简单,因为数百个应用程序都需要这样做。我愿意接受任何感谢。

当前,我有一个结构:

struct Item() {
    var data1: String
    var data2: String // (But Should be Int)
    var data3: String

    func setDate() {
        // code
    }

    func returnDate() {
        // code
    }
}

然后在视图控制器中,我有:

@IBAction func SubmitButton(_ sender: UIButton) {
    var textField1 = Item(data1: textField1.text!, data2: textFeild2.text!, data3: "Units")
    print(textField1.data1)
}
ios swift xcode struct tableview
1个回答
0
投票

我不确定您的目标是什么,但我想最终的目标是要有一个您的项目对象的数组,然后可以将其用于填充UITableView ???是否没有为此实例设置名称?

最简单的解决方案是创建一个[[array作为Class Property,用于存储所有空的项目,如下所示:

var items : [Item] = []
然后在viewDidLoad()中,您可以调用一个函数,该函数用所有可用的项目填充项目数组。然后,可以使用此项目数组来填充

UITableView

第二部分:

您获得了创建新项目的IBAction。我想这应该是在现有项目上添加一个新项目。您可以使用]将此新项目添加到现有项目数组中>

items.append(Item(<parameters>))

并且不要忘记重新加载UITableView以包括新数据。

tableView.reloadData()

© www.soinside.com 2019 - 2024. All rights reserved.