代码之家  ›  专栏  ›  技术社区  ›  KingKongFrog

目标C字典不返回相同的数字

  •  -1
  • KingKongFrog  · 技术社区  · 6 年前

    我想我忽略了一些事情,但有人能看到我做错了什么吗?为什么还2030774160?

    NSDictionary* json = [NSJSONSerialization
                          JSONObjectWithData:responseData //1
    
                          options:kNilOptions
                          error:&error];
    
    NSDictionary* observation = [json objectForKey:@"observation"];
    NSDictionary* imperial = [observation objectForKey:@"imperial"];
    NSLog(@"value of a is : %@ !\n", [imperial objectForKey:@"temp"]);
    
    self.forecastText.text =[observation objectForKey:@"phrase_22char"];
    self.hi = [imperial objectForKey:@"temp_max_24hour"];
    self.forecastHigh.text =[NSString stringWithFormat:@"%d", self.hi];
    
    NSLog(@"value of a is : %@ !\n", self.hi);
    NSLog(@"value of a is : %@ !\n", self.forecastHigh.text);
    

    2019-01-06 11:20:15.246 TiP_Clock[2205:63494] ssssy.
    2019-01-06 11:20:15.465 TiP_Clock[2205:63535] Data has loaded successfully.
    2019-01-06 11:20:15.466 TiP_Clock[2205:63494] value of a is : 51 !
    2019-01-06 11:20:15.466 TiP_Clock[2205:63494] value of a is : 58 !
    2019-01-06 11:20:15.466 TiP_Clock[2205:63494] value of a is : 2030774160 !
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   Rob Napier    6 年前
    self.hi = [imperial objectForKey:@"temp_max_24hour"];
    

    这使得 self.hi (指向)一个 NSNumber .

    self.forecastHigh.text =[NSString stringWithFormat:@"%d", self.hi];
    

    这使得 self.forecastHigh.text 指向 数字对象 ,这是一个半随机整数。

    考虑到其他代码,您在这里可能的意思是:

    self.forecastHigh.text =[NSString stringWithFormat:@"%@", self.hi];
    

    尽管它可能更清楚地等同于:

    self.forecastHigh.text = self.hi.stringValue;