2012-12-13 115 views
3
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES]; 

sortedFloats = [Arr_distance sortedArrayUsingDescriptors: 
        [NSMutableArray arrayWithObject:sortDescriptor]]; 

其中sortedFloats是的NSMutableArray和Arr_distance也NSMutableArray的不兼容的指針類型分配給從「的NSArray」的NSMutableArray「

我得到了警告Incompatible pointer types assigning to 'NSMutableArray ' from 'NSArray '還是結果是正確的,但什麼有關的警告?

回答

4

把你sortedFloats的NSArray,而不是的NSMutableArray。你會發現你的警告消失了。

喜歡編程

+1

雅我知道了謝謝很多先生...... –

0

sortedArrayUsingDescriptors:您應該通過的默認對象是NSArray。您在通過NSMutableArray時收到警告。

根據文檔:

- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors 
2

有在該代碼兩個問題:

  1. sortedArrayUsingDescriptors參數類型是NSArray你逝去的sortedArrayUsingDescriptorsNSMutableArray
  2. 返回類型爲NSArray你將其分配給NSMutableArray物體

檢查方法簽名:

- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors 
+0

雅我明白了非常感謝先生....... –

0

這裏sortedFloatsNSMutableArray對象,你也使用數組鍵與NSMutableArray其返回NSArraysortedArrayUsingDescriptors方法排序數組..

所以這裏這個sortedArrayUsingDescriptors方法的返回類型爲NSArray並且您將此返回類型數組存儲在對象NSMutableArray中名稱爲sortedFloats所以請將sortedFloats作爲NSArray類的對象。 我希望這可以幫助你...

相關問題