従業員のNSArrayをとる関数を記述したいと思います。それに代わって、給与合計がしきい値を超えるすべての従業員のリストを返すべきです。配列はまず、従業員の昇順の日付にソートする必要があります。対象cのNSArrayでキーパスクエリの値を書き込む方法
@interface Employee : NSObject
@property NSString *name;
@property EmployeeMetadata *empMetadata;
@end
@interface EmployeeMetadata : NSObject
@property NSString *salary;
@property NSDate *joiningDate;
@end
私は方法を次のコードを書かれている: - - :
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:[NSString stringWithFormat:@"empMetadata.joiningDate"]
ascending:TRUE];
[employeeArr sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
NSInteger actual;
NSInteger thresholdExceedIndex = -1;
for (Employee *item in employeeArr) {
actual = actual + [item.empMetadata.salary integerValue];
if(actual >= totalThresholdSalary) {
thresholdExceedIndex = [employeeArr indexOfObject:item];
break;
}
}
// if exceeded delete employee in FIFO
if(thresholdExceedIndex != -1) {
[self deleteEmployees:[employeeArr subarrayWithRange:NSMakeRange(0, (thresholdExceedIndex + 1))]]
}
私たちはどのように私はこの使用してNSArrayのvalueforkeypathを達成することができ、より良い方法
でこれを書くことができますクラスの構造は次のようになりますクエリ?
辞書の配列である必要があります。 –
@the_dahiya_boyなぜ辞書の配列にする必要がありますか? –
あなたが書き込もうとしたコードをPlsに入れ、それが動作していない部分を示します。 – GeneCode