Как мне создать структуру данных с другим типом данных? - PullRequest
0 голосов
/ 28 марта 2019

Основываясь на данных типов аргументов, как мне создать элемент в структуре данных с данным типом данных?

Например, я хочу создать объект типа Расход в списке при вызове Section(name: "Items", SectionArrays: [Expense])*", sectionArrays: [CategoryTotal])".

Как мне справиться с этим?

Буду признателен за любой совет:)

class MasterViewController: UITableViewController {
var sections = [
        Section(name: "Items", sectionArrays: [Expense]),
        Section(name: "Category Totals", sectionArrays: [CategoryTotal]),
        Section(name: "Overall", sectionArrays: [CategoryTotal])
    ]
}




struct Section {
    var name: String
    var sectionArrays: [AnyObject]

    init(name: String, sectionArrays: [AnyObject]) {
        self.name = name
        self.sectionArrays = sectionArrays
    }
}

class Expense {
    var category: String
    var description: String
    var amount: Double

    init(category:String, description:String, amount:Double) {
        self.category = category
        self.description = description
        self.amount = amount
    }
}


class CategoryTotal {
    var name: String
    var amount: Double

    init(name: String, amount: Double) {
        self.name = name
        self.amount = amount
    }
}

1 Ответ

0 голосов
/ 28 марта 2019

Вы можете сделать это, указав фактический массив, а не просто массив.

Так, например, вы можете предоставить его предварительно инициализированным с членами или просто пустым.

var sections = [
    Section(name: "Items", sectionArrays: [Expense(category: "Food", description: "Peanut butter", amount: 4.99)]),
    Section(name: "Category Totals", sectionArrays: [CategoryTotal]()),
    Section(name: "Overall", sectionArrays: [CategoryTotal]())
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...