将NSNumbers转换为NSStrings

时间:2011-05-31 15:32:58

标签: objective-c nsstring nsarray nsdictionary nsnumber

在下面的代码中,我有一个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;
}

4 个答案:

答案 0 :(得分:4)

  

我认为代码失败是因为我   需要将NSNumbers转换为   NSString的。

你是对的,请尝试以下方法:

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

答案 1 :(得分:1)

您是对的,您需要将其转换为NSString

您只需致电stringValueNSNumber的方法。喜欢:

select1.text = [one stringValue];

答案 2 :(得分:1)

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

NSString *myString = [NSNumber stringValue];

答案 3 :(得分:0)

blank = [NSString stringWithFormat:@"%i",[nsnumber_var integerValue]];