我是ios开发和核心数据的新手,但我仍然试图理解和管理这两件事的基础知识。现在我遇到了问题,我知道如何使用NSFetchedResultsController
获取数据并将其显示在UITableView
中,但假设我在数据库中有20 rows
并且我需要显示{ {1}}我该怎么做?在构建four rows each in a section
时,我没有得到sectionNameKeyPath
应该给出的条件。有人可以帮我怎么做?。
答案 0 :(得分:0)
设置sectionNameKeyPath
会根据该关键路径的每个对象值拆分NSManagedObjects
(即您的“行”)。假设您的对象是具有city
和state
属性的位置,例如
@interface Location : NSManagedObject
@property (nonatomic, retain) NSString *city;
@property (nonatomic, retain) NSString *state;
@end
如果您将sectionNameKeyPath
设置为state
,您的表格视图最多可拆分为50个部分。状态为@"California"
的所有城市都会被归为@"California"
部分,依此类推。
如果你想将你的20个对象分成四组,那么你的对象需要有一个属性,其中5个对象具有该属性的一个值,5个对象具有第二个值,另外5个对象具有第三个值,最后5个对象有第四个值。例如,您可以创建sectionName
属性:
@interface MyManagedObject : NSManagedObject
@property (nonatomic, retain) NSString *sectionName; // A, B, C, and D
@end
并将5个对象的sectionName
设置为@"A"
,将另外5个设置为@"B"
,依此类推......