我正在使用 Magical Record 和我的核心数据模型,我基本上是在尝试计算商店中的所有实体,以便我可以在 UILabel 中显示它们;然而,由于某种原因,标签只显示 2 个条目,而实际上有多个条目。每次我创建一个新标签时,它基本上不会更新 UILabel。这是我的代码:
NSNumber *count = [FinalRead MR_numberOfEntities];
self.numberInbox = count;
NSString* formattedNumber = [NSString stringWithFormat:@"Inbox(%@)", self.numberInbox];
inboxLabel.text = formattedNumber;
inboxLabel.textColor = [UIColor redColor];
inboxLabel.shadowColor = [UIColor blackColor];
inboxLabel.font = [UIFont fontWithName:@"Helvetica" size:14];
inboxLabel.shadowOffset = CGSizeMake(0,1);
现在我必须首先做正确的事情,否则数字将不会显示,所以这里一定是我遗漏了一些东西。有什么想法吗?
最佳答案
每当您创建一个新实体时,您都需要更新 inboxLabel 的文本(以及您的状态变量 numberInbox)。您分配给 inboxLabel.text 的 NSString 不会自动更新 - 它会始终显示您的示例代码运行时的计数(numberInbox 也不会自动更新)。
在创建新实体的代码之后立即更新状态变量和 inboxLabel 文本:
self.numberInbox = [FinalRead MR_numberOfEntities];
NSString* formattedNumber = [NSString stringWithFormat:@"Inbox(%@)", self.numberInbox];
inboxLabel.text = formattedNumber;
(如果实体可以被删除,同样在你的删除代码之后调用它。)
关于ios - 试图获取核心数据存储中的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19718469/