Xcode 目标c使用NSSortDescriptor进行简单分类
我想在nslog中进行简单排序,这是我的viewcontroller。 -(无效)viewDidLoad{ [超级视图下载]Xcode 目标c使用NSSortDescriptor进行简单分类,xcode,Xcode,我想在nslog中进行简单排序,这是我的viewcontroller。 -(无效)viewDidLoad{ [超级视图下载] sobj=[[SortObjects alloc]init]; sobj.description; //this doesn't work [sobj description];//this doesn't work either NSLog(@"sobj = %@", sobj); }` &这是我的对象类SortObjects.h enter code her
sobj=[[SortObjects alloc]init];
sobj.description; //this doesn't work
[sobj description];//this doesn't work either
NSLog(@"sobj = %@", sobj);
}`
&这是我的对象类SortObjects.h
enter code here- (NSString *)description {
return [NSString stringWithFormat:@"%@ %@", self.firstName, self.lastName];
NSArray *firstNames = @[ @"Alice", @"Bob", @"Charlie", @"Quentin" ];
NSArray *lastNames = @[ @"Smith", @"Jones", @"Smith", @"Alberts" ];
NSArray *ages = @[ @24, @27, @33, @31 ];
NSMutableArray *people = [NSMutableArray array];
[firstNames enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
SortObjects *sObjects = [[SortObjects alloc] init];
sObjects.firstName = [firstNames objectAtIndex:idx];
sObjects.lastName = [lastNames objectAtIndex:idx];
sObjects.age = [ages objectAtIndex:idx];
[people addObject:sObjects];
}];
NSSortDescriptor *firstNameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"firstName"
ascending:YES
selector:@selector(localizedStandardCompare:)];
NSSortDescriptor *lastNameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"lastName"
ascending:YES
selector:@selector(localizedStandardCompare:)];
NSSortDescriptor *ageSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"age"
ascending:NO];
NSLog(@"By age: %@", [people sortedArrayUsingDescriptors:@[ageSortDescriptor]]);
sobj的值在nslog中变为空???您从
说明返回self.firstName,self.lastName
,此时未设置该值。因此,您得到了”
“@vadian对于空值是正确的,您希望在模型对象中存储所有类型(名称、姓氏和年龄)的排序值。你们能确认一下吗?那个么下一步该怎么做才能得到结果呢?