大佬教程收集整理的这篇文章主要介绍了ios – 添加到Array时无法推断通用参数’Element’,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var myDict : [String:[SomeObj]] = [:]
为了填充它,我尝试在正确的索引处向数组添加值.如果数组不存在,则失败并在该索引处创建一个新数组:
if myDict[key]?.append(val) == nil { myDict[key] = [val] }
我想我应该可以缩短到:
@H_662_2@myDict[key]?.append(val) ?? myDict[key] = [val]但是,我得到错误:无法推断通用参数’元素’.为什么?
在单行中使用if … else时,操作应该是单个的,否则我们需要在括号下配对操作以使其成为单个操作,在我们的例子中,append(val)是单个操作但是myDict [key] = [ val]是多个(myDict [key]是1,=赋值是1,[val]是1)所以我们使用括号将它们分组为单个.
以更简单的方式考虑以下算术运算.
//I need 10-5 = 5 let a = 2*4+2-4-3*5 print(a) // -9 //so we can seprate by () let b = ((2*4)+2)-(4-3)*5 print(b) //5
另见,
let a:Int? = nil var b:Int? = nil let d = 10 let c = a ?? 10 * b ?? d
如果我强行打开选项a和b,则错误将变为,
所以常数c变为,
let c = a ?? 10 * (b ?? d) //100
那就是你应该在默认值周围使用括号.
@H_662_2@myDict[key]?.append(val) ?? (myDict[key] = [val])以上是大佬教程为你收集整理的ios – 添加到Array时无法推断通用参数’Element’全部内容,希望文章能够帮你解决ios – 添加到Array时无法推断通用参数’Element’所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。