簡體   English   中英

在停靠欄圖標上添加一個數字

[英]Adding a number to the dock icon

這是我的代碼:

for (NSManagedObject *object in array) {
    if ([[object valueForKey:@"DueDate"] isLessThan:[NSDate date]]) {
        count++;
        NSLog(@"Looped");
        NSString *test = [[NSString alloc] initWithFormat:@"%@", [object valueForKey:@"DueDate"]];
        NSLog(@"%@", test);
    }
}
NSLog(@"%i", count);
NSDockTile *aTitle = [[NSApplication sharedApplication] dockTile];
[aTitle setBadgeLabel:[NSString stringWithFormat:@"%i", count]];

出於某種原因,這個代碼在它應該是2的時候向dock圖標添加8

你有什么理由認為它應該是2? 你清楚地在數組中有八個對象,它們的截止日期小於當前日期(你通過循環每次創建一個新對象,BTW)。

這些托管對象的DueDate屬性的值是什么類? (不要看你的模型 - 發送到期日期值class消息並使用NSLog記錄結果。)它們可能不是NSDates,而且他們的compare:方法是,而不是在被問到時拋出異常與NSDate進行比較,只需返回廢話。

此外,為什么不將這個小於X-date的測試作為你用來獲取這些對象的獲取請求中的謂詞? 然后(在確定到期日期值為NSDates之后),您可以簡單地使用數組的count 當然,這假設你沒有在你展示的代碼之外用更大的結果數組做其他事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM