Swift报错:无法将'()'转换为期望的'[API.Posters.Items]'类型求助
问题解决:Cannot convert value of type '()' to expected argument type '[API.Posters.Items]'
错误原因
你遇到的类型不匹配错误,根源在于数组的append(contentsOf:)方法特性:
Swift中数组的append(contentsOf:)是原地修改原数组的方法,它的返回值是()(空类型),你试图把这个空返回值赋值给类型为[API.Posters.Items]的items变量,这就导致了类型不匹配。
修正代码
直接修改原数组后使用,不需要额外赋值:
else { var currentItems = self.content.item currentItems.append(contentsOf: rawModel.items) // 原地追加数据,无需赋值给新变量 self.content = .items(currentItems) }
或者用更简洁的数组拼接方式(创建新数组):
else { let newItems = self.content.item + rawModel.items self.content = .items(newItems) }
两种写法都能实现现有数据与新获取数据的合并,根据你的代码风格选择即可。
内容的提问来源于stack exchange,提问作者Mikl.hart
相关产品推荐
相关产品推荐

