1
Profile *profile = [[Profile alloc] init];

NSLog(@"badgeId is %@", badgeId);

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:[profile getAuthenticationToken], @"auth_token", badgeId, "badge_id", title, "title", nil];

它在返回方法 getAuthenticationToken (返回一个字符串)后静默崩溃。它似乎去内存引用然后崩溃。前一行的 badgeId 上的 println 返回以下内容:

badgeId is 97
4

2 回答 2

8

一个问题是 C 字符串之类"badge_id"的不是一个好的 NSDictionary 键。使用 NSString 对象,例如@"badge_id".

于 2013-05-13T20:31:24.177 回答
2

字典的键必须是实现 NSCopying-Protocol 的对象。C 字符串不是(Objective-C)对象,因此不实现 NSCopying。

于 2013-05-13T20:41:44.327 回答