【问题标题】:Convert NSNumbers into NSStrings将 NSNumber 转换为 NSString
【发布时间】:2011-09-05 14:34:15
【问题描述】:

在下面的代码中,我有一个 NSNumbers 字典,它被转换为一个数组。然后随机排序,前四行需要显示在适当的标签中。 NSLog 确实显示该数组显示了适当的数字。我相信代码失败了,因为我需要将 NSNumbers 转换为 NSStrings。什么是适用的代码或我忽略了什么?

-(IBAction)shakeit {
NSDictionary * myExampleDict = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictionaryKey"];
exampleArray = [myExampleDict allValues];
NSUInteger count = [exampleArray count];
for (NSUInteger i = 0; i < count; ++i) {
   int nElements = count - i;
   int n = (arc4random() % nElements) + i;
   [exampleArray exchangeObjectAtIndex:i withObjectAtIndex:n];
}
NSString *one = [exampleArray objectAtIndex:1];
NSString *two = [exampleArray objectAtIndex:2];
NSString *three = [exampleArray objectAtIndex:3];
NSString *four = [exampleArray objectAtIndex:4];
select1.text = one;
select2.text = two;
select3.text = three;
select4.text = four;
}

【问题讨论】:

标签: objective-c nsstring nsarray nsdictionary nsnumber


【解决方案1】:

你是对的,你需要把它转换成NSString

你只需要调用stringValueNSNumber的一个方法。喜欢:

select1.text = [one stringValue];

【讨论】:

    【解决方案2】:

    我相信代码失败是因为我 需要将 NSNumbers 转换为 NSStrings。

    你是对的,试试下面的:

    NSString *one   = [[exampleArray objectAtIndex:1] stringValue];
    NSString *two   = [[exampleArray objectAtIndex:2] stringValue];
    NSString *three = [[exampleArray objectAtIndex:3] stringValue];
    NSString *four  = [[exampleArray objectAtIndex:4] stringValue];
    

    【讨论】:

      【解决方案3】:

      我从这个链接复制了答案 How to convert NSNumber to NSString

      NSString *myString = [NSNumber stringValue];
      

      【讨论】:

        【解决方案4】:
        blank = [NSString stringWithFormat:@"%i",[nsnumber_var integerValue]];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-04-05
          • 2011-04-27
          • 2010-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多