2016-10-30 4 views
2

私はスウィフト3.0に私のアプリを更新しようとしていますと、エラーに到着した:ライン上のType 'NSFastEnumerationIterator.Element' (aka 'Any') does not conform to protocol 'AnyObject'タイプ「NSFastEnumerationIterator.Element」(別名「どれ」)プロトコルに準拠していない「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)) 

これをどのようにリファクタリングすることができますか?

+0

このようなコードは読めない、undebuggable、unmaですネージ可能。私は強く約6かそこらの行に分割することを強くお勧めします。各行は読み込み可能でデバッグ可能です。 – rmaddy

+0

コードにイテレータはありません。 – vadian

答えて

1

はあなたのコードを考えると、私はdetailData asssumeはタイプNSFastEnumerationIterator.Elementは次のとおりです。

あなたがキャスティングされているNSFastEnumerationIterator.ElementAnyObjectへ:

(detailData as AnyObject) 

しかしNSFastEnumerationIterator.Element sが構造体であるため、変更AnyObjectAnyへ:

(detailData as Any) 
関連する問題