簡體   English   中英

NSArray使用自定義對象排序

[英]NSArray sort with custom objects

我有以下課程:

typedef enum eItems {
kItem1,
kItem2,
kItem3  
} MyItem;

@interface MyClass: CCSprite<CCTargetedTouchDelegate>{
... 
MyItem mClIt;
...
}

...
- (NSComparisonResult)MyCompareFunc:(MyClass*)inObject
- (MyItem)GetSomeItem;
...

和排序功能:

- (NSComparisonResult)MyCompareFunc:(MyClass*)inObject
{
 if ([self GetSomeItem] > [inObject GetSomeItem])
    return NSOrderedDescending;
 else if ([self GetSomeItem] < [inObject GetSomeItem])
    return NSOrderedAscending;
 return NSOrderedSame;
}

我稍后將在某些類中創建MyClass對象的NSArray:

@interface Person : Main {
    ....
    NSArray * mObjArr;
    ....
}

我需要使用sortUsingSelector:@selector(MyCompareFunc:)方法在MyCompareFunc的幫助下對mObjArr進行排序。 但是我有以下錯誤:

錯誤:訪問未知的'mObjArr'getter方法。

請幫助解決問題。

我不確定這是否是唯一的問題,但是您需要使用NSMutableArray而不是NSArray來使用sortUsingSelector:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM