Objective-C中如何将NSMutableArray的元素设置为UILabel?
How to set the elements of NSMutableArray to UILabel in Objective-C?
我是 IOS 的新手。我已经将数据设置为NSMutableArray
。我想获取 NSMutableArray
的 elements
并将其设置为 UILabel
,如下所示。
self.RedValue.text = [LEDstate objectAtIndex:0];
但由于以下原因它崩溃了:
2015-03-04 19:01:24.384 BLE_Running[1610:870444] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x14561760'
如何在Objective-C中将NSMutableArray的元素设置为UILabel?
确保将 NSString
对象分配给 self.RedValue.text
id objectFromArray = [LEDstate objectAtIndex:0];
self.RedValue.text = [NSString stringWithFormat:@"%@",objectFromArray];
编辑
我们需要将 NSString
对象分配给标签,因此,最好将存储在数组中的对象(无论它是什么,例如整数、NSNumber 等)转换为 NSString
对象,然后将其分配给标签,
我们可以将 NSNumber
对象转换为字符串,例如
NSNumber *objectFromArray = [LEDstate objectAtIndex:0];
NSString *stringValueOfNumber = [objectFromArray stringValue]
您正在尝试将整数传递给字符串,Label 接受字符串而不是整数,
NSMutableArray *mutableArray = [[NSMutableArray alloc]init];
// Add Bool to Array
[mutableArray addObject:[NSNumber numberWithBool:YES]];
// Add number to Array
[mutableArray addObject:[NSNumber numberWithInt:1]];
// Add String to Array
[mutableArray addObject:@"String"];
// Create a lable to Show result
UILabel *lable = [[UILabel alloc]init];
lable.frame = CGRectMake(0, 0, 100, 30);
lable.center = self.view.center;
[self.view addSubview:lable];
// set lable text from Mutable array
lable.text = [[mutableArray objectAtIndex:0] stringValue]; //Bool
//or
lable.text = [[mutableArray objectAtIndex:1] stringValue]; //int
//or
lable.text = [mutableArray objectAtIndex:2]; //string
您的数组包含 NSNumber
个对象而不是 NSString
个对象。您不能以这种方式将 NSNumber
分配给标签的文本 属性。您需要先将其转换为字符串。为此,您可以使用 NSNumber
对象的 stringValue 属性。
self.RedValue.text = [[LEDstate objectAtIndex:0] stringValue];
我是 IOS 的新手。我已经将数据设置为NSMutableArray
。我想获取 NSMutableArray
的 elements
并将其设置为 UILabel
,如下所示。
self.RedValue.text = [LEDstate objectAtIndex:0];
但由于以下原因它崩溃了:
2015-03-04 19:01:24.384 BLE_Running[1610:870444] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x14561760'
如何在Objective-C中将NSMutableArray的元素设置为UILabel?
确保将 NSString
对象分配给 self.RedValue.text
id objectFromArray = [LEDstate objectAtIndex:0];
self.RedValue.text = [NSString stringWithFormat:@"%@",objectFromArray];
编辑
我们需要将 NSString
对象分配给标签,因此,最好将存储在数组中的对象(无论它是什么,例如整数、NSNumber 等)转换为 NSString
对象,然后将其分配给标签,
我们可以将 NSNumber
对象转换为字符串,例如
NSNumber *objectFromArray = [LEDstate objectAtIndex:0];
NSString *stringValueOfNumber = [objectFromArray stringValue]
您正在尝试将整数传递给字符串,Label 接受字符串而不是整数,
NSMutableArray *mutableArray = [[NSMutableArray alloc]init];
// Add Bool to Array
[mutableArray addObject:[NSNumber numberWithBool:YES]];
// Add number to Array
[mutableArray addObject:[NSNumber numberWithInt:1]];
// Add String to Array
[mutableArray addObject:@"String"];
// Create a lable to Show result
UILabel *lable = [[UILabel alloc]init];
lable.frame = CGRectMake(0, 0, 100, 30);
lable.center = self.view.center;
[self.view addSubview:lable];
// set lable text from Mutable array
lable.text = [[mutableArray objectAtIndex:0] stringValue]; //Bool
//or
lable.text = [[mutableArray objectAtIndex:1] stringValue]; //int
//or
lable.text = [mutableArray objectAtIndex:2]; //string
您的数组包含 NSNumber
个对象而不是 NSString
个对象。您不能以这种方式将 NSNumber
分配给标签的文本 属性。您需要先将其转换为字符串。为此,您可以使用 NSNumber
对象的 stringValue 属性。
self.RedValue.text = [[LEDstate objectAtIndex:0] stringValue];