0
我不明白」曖昧,爲什麼下面的代碼我用來初始化一個UIActivityViewController
導致錯誤:Type of expression is ambiguous without more context
斯威夫特2:初始化斯威夫特一個UIActivityViewController當問題:表達式的類型是沒有更多的上下文
let shareText = "..."
let url = NSURL(string: "http://google.com")
let shareObjects = [shareText, url] // Compiler error happens here.
let controller = UIActivityViewController(activityItems: shareObjects, applicationActivities: nil)
對象陣列清晰地包含String
和NSURL
。無論如何,無論如何,包含這兩者的數組字面應當通過直覺來假定最低的通用類型(如最近的共同祖先)[AnyObject]
。
強制向下轉換也不起作用:即說let shareObjects = [shareText, url] as! [AnyObject]
不會使錯誤消失。