2017-06-16 23 views
0

enter image description here NSOrderedSetからオブジェクトを削除する回避策は、変更可能なコピーからオブジェクトを削除することです。Swift:NSOrderedSetからオブジェクトを削除する

let tempSet: NSMutableOrderedSet? = playset!.musicItems!.mutableCopy as? NSMutableOrderedSet 
     tempSet!.remove(musicItem) 
     playset!.musicItems = tempSet 

しかし、それは私にエラーEXC_BAD_INSTRUCTIONを与える:私が持っているコードだXCodeの者の警告を固定した後。 どうすれば修正できますか?あなたは現在、そのメソッドを呼び出した結果、NSMutableOrderedSetに方法() -> Any?自分自身をキャストしないようにしようとしている

playset!.musicItems!.mutableCopy() as? NSMutableOrderedSet 

+0

tempSetにはmusicItemがありますか?ブレークポイントでチェックするか、テンポラリの前にifステートメントを置く –

+0

スウィフトの 'Set'を使わない理由は何ですか? – JAL

+2

関連性は低いですが、質問や感嘆符を少なくすることを検討してください。すべてがオプションであるとは限りません。 @ JAL Swiftには、ネイティブ順序セットタイプがありません。 – vadian

答えて

1

mutableCopyは方法です、それの後に()を追加し、メソッドとして呼び出さなければなりません。したがって警告。

キャストは決して成功しません。tempSetは常にnilのままで、次の!にクラッシュします。

関連する問題