我有一個接收推送通知的應用程序。 我想在應用程序菜單中的按鈕附近添加帶有正確值的徽章(您還記得舊的Facebook應用程序嗎?)。Xcode:獲取徽章值將其添加到標籤
我試圖從AppDelegate中的通知中獲取徽章值,將其保存在NSUserDefault中以在其他視圖控制器中使用它。
NSString * badgeValue = [[userInfo valueForKey:@"aps"] valueForKey:@"badge"];
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:badgeValue forKey:@"badge"];
[defaults synchronize];
的問題是,如果我嘗試把值在標籤的應用程序崩潰,
'NSInvalidArgumentException' 的,理由是:「 - [__ NSCFNumber isEqualToString:]:無法識別的選擇發送到實例
的Xcode讓我保存badgeValue在一個字符串,但是當我把字符串中,它說的標籤是不正確的字符串
if ([badgeValue isKindOfClass:[NSString class]]) {
NSLog(@"it is string !!!!!!!!!!!!!!!");
// treat it as a string object
} else {
NSLog(@"it is not a string !!!!!!!!!!!!!!!");
// treat it as a number object
}
通過調試我看到巴dgeValue不是一個真正的字符串,而是__NSCFNumber,如果我嘗試在一個字符串中轉換它,返回值是一個奇怪的數字。 我到處搜索的方式來獲取通知的徽章價值,但我能想到的唯一選擇是一個PHP查詢...任何想法?