gpt4 book ai didi

ios - Swift 4 中的 setValuesForKeysWithDictionary?

转载 作者:行者123 更新时间:2023-11-28 09:35:31 25 4
gpt4 key购买 nike

似乎 Swift 4 正在实现与 (void)setValuesForKeysWithDictionary() 不同的方法,在 Swift 4 中什么是这个函数的合适替代品?

我有

的结构
struct User {
let name: String?
let email: String?
}

dictionaryOfUsers 来自数据结构,其值根据数据库中的用户数量动态呈现:

let dictionaryOfUsers = [{key1: "name1", key2 : "name1@xyz.com"}, {key1 : "name2", key2 : "name2@gmail.com"} ]   
let users = [User]

现在我想使用这个函数来创建我的用户数组以在 Swift 4 中创建字典:

for dictionary in dictionaryOfUsers {
let user = User()
user.setValuesForKeysWithDictionary(dictionary)

并附加到用户

    users.append(user)
}

最佳答案

试试这个方法:

func setValuesForKeys(_ keyedValues: [String : Any])

Sets properties of the receiver with values from a given dictionary, using its keys to identify the properties. The default implementation invokes setValue(_:forKey:) for each key-value pair...

您的代码有许多小问题 — 还有一些主要问题(有关详细信息,请参阅 matt 答案)。无论如何,我认为这应该可以实现您所追求的目标:

import Foundation

class User: NSObject {
@objc var name: String!
@objc var email: String!
}

let dictionaryOfUsers = [
["name": "name1", "email": "name1@xyz.com"],
["name": "name2", "email": "name2@gmail.com"]
]

var users = [User]()
for dictionary in dictionaryOfUsers {
let user = User()
user.setValuesForKeys(dictionary)
users.append(user)
}

关于ios - Swift 4 中的 setValuesForKeysWithDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46615570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com