在 iPhone 应用程序中显示一对多关系的值的计数

Posted

技术标签:

【中文标题】在 iPhone 应用程序中显示一对多关系的值的计数【英文标题】:Displaying count of the value of a to-many relationship in an iPhone app 【发布时间】:2009-10-20 09:44:03 【问题描述】:

我需要一些帮助。

我使用 Core Data 来实现这一点:

我有一个存储类别的主 tableView。当按下其中一个类别时,会推送另一个 tableView 并显示该特定类别的内容。类别和内容之间存在一对多的关系。

我想在类别表格视图行中显示每个类别的内容总数。通过将此代码放在内容 tableView 控制器中的 fetchrequest 之后,我设法仅针对单个类别执行此操作:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *numberString = [NSString stringWithFormat:@"%i", [contentArray count]]; 
[defaults setObject: numberString forKey:kContentNumber];

然后在类别视图控制器中,我只是从 NSUserDefault 加载数字,并将其显示在 tableView 中。当然,所有类别行的数字都相同。

我的挑战是从每个内容中获取特定数字,并将其显示到相关类别。

任何帮助将不胜感激。 提前致谢

【问题讨论】:

【参考方案1】:

听起来您有一个与 Content 实体有一对多关系的 Category 实体。

如果是这样,您可以从 Category 的 UITableViewController 中询问 Content 设置其计数:

[category.contents count]

示例标题:

#import <CoreData/CoreData.h>

@class Content;

@interface Category :  NSManagedObject  



@property (nonatomic, retain) NSSet* contents;

@end


@interface Category (CoreDataGeneratedAccessors)
- (void)addContentsObject:(Content *)value;
- (void)removeContentsObject:(Content *)value;
- (void)addContents:(NSSet *)value;
- (void)removeContents:(NSSet *)value;

@end

【讨论】:

以上是关于在 iPhone 应用程序中显示一对多关系的值的计数的主要内容,如果未能解决你的问题,请参考以下文章

如何管理 Core Data 中的一对多关系?

iPhone Core Data 关系故障

iphone核心数据:无法删除具有一对多关系的数据

iOS / iPhone CoreData 关系

一对多关系 iPhone - NSPredicate 核心数据查询

Django - 以一对多关系更改相关对象的值