NSDictionary和NSMutableDictionary的组合

时间:2016-03-11 04:54:32

标签: ios json afnetworking

我的应用使用存储在deviceToken类中的dataModel类。设备令牌通过各种AFNetworking commands在整个应用中使用。

//Notice the syntax for the deviceToken class in this NSDictionary
NSDictionary *params = @{@"cmd":@"join",                            
                         @"token":[_dataModel deviceToken],

以下是通过[_dataModel deviceToken]使用NSMutableDictionary类的另一种方法。

NSMutableDictionary* params =[NSMutableDictionary dictionaryWithObjectsAndKeys:command, @"command",                             
[_dataModel deviceToken], @"token", nil ];

事情是我的应用程序使用两个不同的API,我想通过j son将[_dataModel deviceToken]类传递给新词典。此词典目前在UILabel中显示用户的用户名caption

//This message organizes photos, and shows the users username on them
-(id)initWithIndex:(int)i andData:(NSDictionary*)data
{
self = [super init];
if (self !=nil)
{
    //add the photo caption
    UILabel* caption = [[UILabel alloc] initWithFrame:CGRectMake(0, kThumbSide-32, kThumbSide, 32)];

    caption.text = [NSString stringWithFormat:@"@%@",[data objectForKey:@"username"]];
    [self addSubview: caption];
}

我想使用设备令牌格式化UILabel caption,如上所示,它目前显示用户名。问题是,当我尝试在这样的标题标签中显示设备令牌时,我遇到了编译器问题。什么是正确的语法?

caption.text = [NSString stringWithFormat:@"@%@",[data objectForKey:@"token"],[_dataModel deviceToken]];

1 个答案:

答案 0 :(得分:3)

仔细检查stringWithFormat:中的格式字符串,很明显编译器会给你一个正确且非常有用的警告。整个问题与字典无关。

顺便说一句。使用最少量的代码行没有价格。使用更多,更简单的语句使您的代码更容易调试。