我试图使用ObjC框架中的函数。
fileServer.listShares({(_ shares: [SMBShare], _ error: Error?) -> Void in
if error != nil {
print("Unable to list the shares: \(error)")
}
else {
for share: SMBShare in shares {
print("Got share: \(share.name)")
}
}
})
它给了我这个错误:Cannot convert value of type '([SMBShare], Error?) -> Void' to expected argument type '(([SMBShare]?, Error?) -> Void)?'
任何想法?
Xcode建议将
Insert ' as! ([SMBShare]?, Error?) -> Void'
放在最后,但这会弄乱函数。
答案 0 :(得分:1)
这是因为预期类型为[SMBShare]?
和Error?
。
我建议您只需更改类型如下:
fileServer.listShares({(_ shares: [SMBShare]?, _ error: Error?) -> Void in
if error != nil {
print("Unable to list the shares: \(error)")
}
else {
for share: SMBShare in shares {
print("Got share: \(share.name)")
}
}
})