0

私はコア データ モデルと共に 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);

今、私は最初に何かを正しく行ったに違いありません。そうしないと、数字が表示されないため、ここに欠けているものがあるに違いありません。何か案は?

4

1 に答える 1

1

新しいエンティティを作成するたびに、inboxLabel (および状態変数 numberInbox) のテキストを更新する必要があります。inboxLabel.text に割り当てる NSString は自動的に更新されません。サンプル コードが実行されたときからのカウントが常に表示されます (numberInbox も自動的に更新されません)。

新しいエンティティを作成するコードの直後に、状態変数と inboxLabel テキストを更新します。

self.numberInbox = [FinalRead MR_numberOfEntities];
NSString* formattedNumber = [NSString stringWithFormat:@"Inbox(%@)", self.numberInbox];
inboxLabel.text = formattedNumber;

(エンティティを削除できる場合は、削除コードの後に​​これも呼び出します。)

于 2013-11-01T02:51:30.217 に答える