私は、2人の生徒のGPAを比較し、次にそれらをセレクタを使って降順に並べ替える単純な関数== "compareGPA"を書こうとしています:[array sortUsingSelector:@selector(compareGPA :)];オブジェクトのプロパティを比較するには、(sortusingselector:@selector)を使用してソートしますか?
私は2種類の方法で関数を記述しようとしましたが、何も動作、
最初の方法:
+(NSComparisonResult) compareGPA: (Student *) OtherStudent{
Student *tmp =[Student new];
if ([OtherStudent getGpa] < [tmp getGpa]){
return (NSComparisonResult) tmp;
}
if([tmp getGpa] < [OtherStudent getGpa])
{ return (NSComparisonResult) OtherStudent; }
}
第二の方法:
+(NSComparisonResult) compareGPA: (Student *) OtherStudent{
NSComparisonResult res;
res = [[self getGpa] compare: [OtherStudent getGpa]];
return res;
Switch (res)
{
case NSOrderedAscending:
return NSOrderedDescending;
break;
case NSOrderedDescending:
return NSOrderedAscending;
break;
default:
return NSOrderedSame;
break;
}
}
出力:Nothing
提案がありますか?
を使用してStudentオブジェクトのあなたの配列をソート? int? – DanZimm
返品フロート –