我從堆棧溢出的答案中找到這些代碼片段,既不優雅地解決我的問題。有什麼正確的方法來字母化一個NSMutableArray?
來自"Sorting array in alphabetic order…"的第一段代碼沒有給出任何警告,但之後是崩潰。
NSSortDescriptor *nameSort = [NSSortDescriptor sortDescriptorWithKey:@"Name" ascending:YES];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:nameSort]];
雖然代碼的第二部分產生每在我的代碼使用一個警告,但產生的結果我想:
myMutableArray = [myMutableArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
所以,我的問題是,爲什麼與警告確實第二種方法的工作, 「Incompatible pointer types assigning to 'NSMutableArray*' from incompatible type 'NSArray*'
」?
文檔是你的朋友! [sortedArrayUsingSelector:](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/doc/uid/20000137-BABBHAGJ)vs. [ sortUsingSelector:](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/doc/uid/20000138-BABCBFFC) – MechEthan
I嘗試從'sortUsingSelector:'分配,而不是將其視爲一種方法,多麼尷尬。 xD – erran