小编Ada*_* S.的帖子

在NSArray中查找最大数值

我有NSNr的NSNrray,并希望在数组中找到最大值.这样做有内置的功能吗?我使用iOS4 GM,如果这有任何区别.

iphone objective-c nsarray

53
推荐指数
1
解决办法
3万
查看次数

关系未更新的NSFetchedResultsController

假设我有两个实体,员工和部门.部门与员工有多对多的关系,许多员工可以在每个部门,但每个员工只属于一个部门.我希望在tableview中显示所有员工,这些员工使用NSFetchedResultsController按照属于他们所属部门的属性的数据进行排序.问题是,当部门对象收到更改时,我希望我的表更新,就像员工的常规属性更改一样,但FetchedResultsController似乎不跟踪相关对象.我通过以下方式部分通过了这个问题:

for (Employee* employee in department.employees) {
    [employee willChangeValueForKey:@"dept"];
}

/* Make Changes to department object */

for (Employee* employee in department.employees) {
    [employee didChangeValueForKey:@"dept"];
}
Run Code Online (Sandbox Code Playgroud)

这显然不是理想的,但它确实导致基于员工的FRC委托方法didChangeObject被调用.我现在留下的真正问题是在跟踪员工对象的FRC的排序中:

NSEntityDescription *employee = [NSEntityDescription entityForName:@"Employee" inManagedObjectContext:self.managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"department.someProperty" ascending:NO];
Run Code Online (Sandbox Code Playgroud)

这很好,并且在第一次调用时对员工进行了正确的排序,问题是当我对某个部门进行更改时,someProperty应该更改我的员工表的排序没有任何反应.有没有什么好方法让我的员工FRC跟踪关系中的变化?特别是我只需要一些方法让它在排序基于相关属性时更新排序.我查看了一些类似的问题,但未能找到满意的解决方案.

core-data objective-c nsfetchedresultscontroller

18
推荐指数
2
解决办法
6228
查看次数