Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在运行时从模型中获取并插入属性值_Ios_Swift - Fatal编程技术网

Ios 在运行时从模型中获取并插入属性值

Ios 在运行时从模型中获取并插入属性值,ios,swift,Ios,Swift,我有一个ui标签,我必须在其中插入一个可以是这些属性之一的值 在运行时,我将收到一个JSON响应,其中我将有一个键,其值将是这些属性之一的名称sayfirstName或lastName或类似的任何其他值 { “值”:“firstName” } 现在,我将检查这个值的值(在JSON中),并验证它是否存在于模型Person中,如果存在(在我们这样设计JSON时总是如此),将插入该属性的值(firstName) 现在我能想到的一种方法是在JSON中放入大量的if-else,检查值的值,然后从模型中获取

我有一个
ui标签
,我必须在其中插入一个可以是这些属性之一的值

在运行时,我将收到一个JSON响应,其中我将有一个键,其值将是这些属性之一的名称say
firstName
lastName
或类似的任何其他值

{ “值”:“firstName” }

现在,我将检查这个
的值(在JSON中),并验证它是否存在于模型
Person
中,如果存在(在我们这样设计JSON时总是如此),将插入该属性的值(
firstName

现在我能想到的一种方法是在JSON中放入大量的
if-else
,检查
的值,然后从模型中获取值,除了大量的锅炉板代码


是否有其他方法可以达到同样的效果?

最佳做法是更改JSON,例如:

struct Person {
    let firstName: String?
    let lastName: String?
    let age: Int?
}

并且只在UI上呈现非nil值。

因为我们将以这种方式设计JSON。为什么?那是不必要的麻烦。为什么所有结构成员都是可选的?在现实生活中,每个人都至少有一个名字和一个年龄。@vadian person只是一个例子,可能有很多值,也可能没有。主要的是我想实现这个功能
{
    "firstName":"ABC",
    "lastName":nil,
    "age":nil
}