簡體   English   中英

從Swift中的模型類中提取值

[英]Extract values from an model class in Swift

我將選擇的數據從列表傳遞到具有相應內容的模型類。 我有itemName和itemPrice以及itemDescription,它們傳遞給我的模型變量在一個類中並在另一個類中訪問它。 現在,我想從該模型中獲取值,並將其作為參數傳遞給服務。 我在參數中有一些要傳遞這些值的鍵,這些值是動態的。 這是我的模特班

class Item : NSObject {
var totalPrice : String?
var numberOfItems : Int = 1
var itemPrice : String?
var itemName : String?
var itemID : String?
var itemId : String?
var  itemDdescription : String?
}

class ItemDataSource : NSObject {
var items = [Item]()
static let sharedInstance = ItemDataSource()
private override init() {}
}

這就是我在模型中傳遞值的方式,

 let item = Item()
    item.totalPrice = String(result)
    item.itemPrice = String(result)
    item.itemDdescription = itemDescription
    item.itemName = itemName
    item.itemID = itemID
    item.itemId = itemId
    ItemDataSource.sharedInstance.items.append(item)

這是我在服務中使用的參數格式,

 "cart": [
            [
                "childs": [
                    [
                        "addon_cat_id": "0",
                        "id": ItemDataSource.sharedInstance.items[0].itemId!,
                        "name": ItemDataSource.sharedInstance.items[0].itemName!,
                        "next_move_id": "",
                        "price": ItemDataSource.sharedInstance.items[0].itemPrice!,
                        "sort_order": "",
                        "type": "string"
                    ]
                ],
                "name": ItemDataSource.sharedInstance.items[0].itemName!,
                "price": ItemDataSource.sharedInstance.items[0].itemPrice!,
                "productid": ItemDataSource.sharedInstance.items[0].itemId!,
                "qty": 2,
                "description": ItemDataSource.sharedInstance.items[0].itemDdescription!
            ]
        ],

我想從我的模型類中傳遞參數中的所有內容,而值應該傳遞給它們在參數中的相應鍵。我很困惑如何在其各自的鍵中傳遞值,而當我在此處通過索引0傳遞時,它只能傳遞0我的參數中的孩子的索引值。 我如何傳遞我的模型課中的全部內容? 如果我的模型類中有兩個項目,當我將數據傳遞給它時,它應該在我的參數中產生兩個孩子.Chid是一個傳入參數的數組。 如何做到這一點?

您可以嘗試以下方法:

class Item : NSObject {
    var totalPrice : String?
    var numberOfItems : Int = 1
    var itemPrice : String?
    var itemName : String?
    var itemID : String?
    var  itemDdescription : String?
}

class ItemDataSource : NSObject {
    var items = [Item]()
    static let sharedInstance = ItemDataSource()
    private override init() {}
}
var result = 20
var itemDescription = "itemDescription"
var itemName = "itemName"
var itemID = "1"

let item = Item()
item.totalPrice = String(result)
item.itemPrice = String(result)
item.itemDdescription = itemDescription
item.itemName = itemName
item.itemID = itemID
ItemDataSource.sharedInstance.items.append(item)

let noOFItems = ItemDataSource.sharedInstance.items.count

var dict = [Dictionary<String, Any>]()


for i in 0 ..< noOFItems {


    var child: [String: Any] = ["addon_cat_id": "0",
                                "id": ItemDataSource.sharedInstance.items[i].itemID!,
                                "name": ItemDataSource.sharedInstance.items[i].itemName!,
                                "next_move_id": "",
                                "price":ItemDataSource.sharedInstance.items[i].itemPrice!,
                                "sort_order": "",
                                "type": "string"]

    var childs:[String: Any] = ["childs": child, "name": ItemDataSource.sharedInstance.items[i].itemName!,
                                "price": ItemDataSource.sharedInstance.items[i].itemPrice!,
                                "productid": ItemDataSource.sharedInstance.items[i].itemID!,
                                "qty": 2,
                                "description": ItemDataSource.sharedInstance.items[i].itemDdescription!]

    dict.append(childs)

}

let cart = ["cart": dict]
print(cart)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM