내가 운이있는 테이블보기의 배열을 정렬하기 위해 노력하고있어, 이것은 내가 할 노력하고있어 방법은 다음과 같습니다NSMutableArray 배열 정렬 방법?
- (void) compare
{
NSMutableArray *temp = [[NSMutableArray alloc] initWithObjects: nil];
[temp addObjectsFromArray:[self displayedObjects]];
int a = [[self displayedObjects] count];
for (int i = 0; i < (a - 1); i++){
for (int j = 0; j <= (i^2); j++) {
NSString *temp1 = [temp objectAtIndex:i];
NSString *temp2 = [temp objectAtIndex:i+1];
if (temp1 > temp2) {
[movieIndex replaceObjectAtIndex:i withObject:temp2];
[movieIndex replaceObjectAtIndex:i+1 withObject:temp1];
}
}
}
[self movieIndex];
[[self tableView] reloadData];
}
displayedObjects
는 사용자가 새로운 객체를 추가 할 수 있습니다 배열의 배열입니다. 이 객체는 다음 형식의 영화 인스턴스입니다.
tableview 셀의 제목은 영화입니다. 그 제목의 "in"에는 영화에 대한 세부 사항이있는 테이블 뷰가 있습니다. 내가하고 싶은 일은 표시된 영화 제목을 오름차순으로 정렬하는 것이지만 코드가 작동하지 않는 것 같습니다.
displayedObjects
은 3 개의 NSString과 1 개의 NSNumber로 구성됩니다. 이 객체가 다음 클래스 형성 가져옵니다 아무도 아직 제안되지 않았기 때문에
#import <Foundation/Foundation.h>
@interface Movie : NSObject
{
NSString *_title;
NSString *_gender;
NSString *_location;
NSNumber *_publicationYear;
}
@property (nonatomic, retain) NSString *location;
@property (nonatomic, retain) NSString *title;
@property (nonatomic, retain) NSString *gender;
@property (nonatomic, retain) NSNumber *publicationYear;
+ (id)movieWithTitle:(NSString *)title
gender:(NSString *)gender
year:(NSUInteger)year
location:(NSString *)location;
- (id)initWithTitle:(NSString *)title
gender:(NSString *)gender
year:(NSUInteger)year
location:(NSString *)location;
@end
: 나는 그것을 사용하여 작동했다 * name1 = obj1; NSString * name2 = obj2; return [name1 localizedCaseInsensitiveCompare : name2]; } ]; 하지만 알 수없는 예외 'NSInvalidArgumentException'이유로 응용 프로그램을 종료하는 sigbart 오류가 발생합니다 : '- [Movie localizedCaseInsensitiveCompare :] : 인스턴스 0x5912da0에 전송 된 인식 할 수없는 선택기 "" – Morpheas1983
내 제안과 관련이 없습니다 ... "..."의 단지 당신의 구현. – Steve