Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 类型';NSFastEnumerationIterator.Element';(aka';Any';)不符合协议';任何对象';_Swift_Swift3 - Fatal编程技术网

Swift 类型';NSFastEnumerationIterator.Element';(aka';Any';)不符合协议';任何对象';

Swift 类型';NSFastEnumerationIterator.Element';(aka';Any';)不符合协议';任何对象';,swift,swift3,Swift,Swift3,我正在尝试将我的应用程序更新为Swift 3.0,但出现错误:Type'NSFastEnumerationIterator.Element'(也称为'Any')不符合协议'AnyObject' 在线: self.friends.append(Friend(userName: (detailData as AnyObject).value["userName"] as! String, phoneNumber: detailData.value["phoneNumber"] as!

我正在尝试将我的应用程序更新为Swift 3.0,但出现错误:
Type'NSFastEnumerationIterator.Element'(也称为'Any')不符合协议'AnyObject'

在线:

        self.friends.append(Friend(userName: (detailData as AnyObject).value["userName"] as! String, phoneNumber: detailData.value["phoneNumber"] as! String, status: "Friend", statusSort: 2, name: detailData.value["userName"] as! String, userID: detailData.key))

如何重构此文件?

鉴于您的代码,我认为
detailData
的类型为
nsfastnumerationiterator.Element

您正在将一个
NSFastEnumerationIterator.Element
强制转换为
AnyObject

(detailData as AnyObject)
但是
NSFastEnumerationIterator.Element
s是结构,所以将
AnyObject
更改为
Any

(detailData as Any)

这样的代码是不可读、不可调试和不可管理的。我强烈建议你把它分成大约6行,这样每一行都是可读的和可调试的。你的代码中没有迭代器。