在下面的代码中,我有一个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;
}
答案 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
。
您只需致电stringValue
即NSNumber
的方法。喜欢:
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]];