[英]NSMutableArray with NSMutableSet error in Xcode 5 that compiles fine in Xcode 4
以下幾行在Xcode 4中可以正常編譯:
NSMutableArray *midiViewsToRemove = [NSMutableSet setWithArray:[self.noteViewControllers allKeys]];
NSMutableArray *audioViewsToRemove = [NSMutableSet setWithArray:[self.audioNoteViewControllers allKeys]];
但是Xcode 5給我以下錯誤:
使用類型為“ NSMutableSet *”的表達式初始化“ NSMutableArray *”的指針類型不兼容
救命!
該代碼是錯誤的,並且僅在以前有效,因為諸如setWithArray:
類的方法將返回id
但現在返回instancetype
,這有助於編譯器進行類型檢查。
您不能將NSMutableSet*
分配給NSMutableArray*
。 這兩個類共享的某些方法以前可能曾經使用過,但這很危險,只是偶然使用。
將變量聲明為NSMutableSet *midiViewsToRemove
和NSMutableSet *audioViewsToRemove
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.