Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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
Swift 如何在结构中将var的返回类型定义为空数组?_Swift_Struct_Swift5 - Fatal编程技术网

Swift 如何在结构中将var的返回类型定义为空数组?

Swift 如何在结构中将var的返回类型定义为空数组?,swift,struct,swift5,Swift,Struct,Swift5,在API调用期间,我得到的变量为[] 那么如何定义类型为空数组的变量呢 { "name": "Alex", "hobbies": [] } 假设数组为Int: struct User{ var name : String var hobbies:[Int] } 用法: let user = User(name: "Test", hobbies: [0,1,2]) 尽管从API响应的数组为空,但它必须有自己的类型 我相信您不能声明为无类型数组。至少,您可以将其声明为

在API调用期间,我得到的变量为
[]
那么如何定义类型为空数组的变量呢

{
  "name": "Alex",
  "hobbies": []
}

假设数组为Int:

struct User{
    var name : String
    var hobbies:[Int]
}
用法:

let user = User(name: "Test", hobbies: [0,1,2])

尽管从API响应的数组为空,但它必须有自己的类型

我相信您不能声明为
无类型数组
。至少,您可以将其声明为

var嗜好:[Any]
如果您不知道响应的类型

是否尝试过此操作

struct User {
 var name : String
 var hobbies:[String]?
}

当我尝试
var:[Any]
时,我发现“无法自动合成'Decodable',因为'[Any]'不符合'Decodable'”错误如果您使用的是
Decodable
,请确保您知道正确的响应类型。尝试与后端开发人员交谈,了解
爱好的类型。例如,如果您的后端开发人员说了
业余爱好
的[String]类型,那么只需输入
var业余爱好:[String]
,但是如果
业余爱好[]
不包含任何数据,那么我该怎么办呢???@USB您可以输入任何而不是Int当我尝试var业余爱好时:[any]我得到的“无法自动合成‘可解码的’,因为”[any]'不符合'可解码''错误您的爱好密钥不会总是空的,对吗?你将在嗜好中拥有什么类型的数据?嗜好应该是它不为空时的类型。例如,[Hobby]的值可以为[](空数组)。
struct User {
 var name : String
 var hobbies:[String]?
}