如何转换数字值“20,30,40,42”;到Objective C中的{20,20,40,42}整数数组。
答案 0 :(得分:2)
您可以使用
NSArray *numbers = ["20,30,40,42" componentsSeparatedByString:@","];
但在这种情况下,您将在数字数组中使用NSString。 您不能将int存储到数组中,因此下一步应该是枚举该数组并从字符串创建NSNumber并将其放入另一个数组: Ñ
NSMutableArray *numArray = [[NSMutableArray alloc] init];
for (NSString *s in arr)
{
NSNumber *num = [NSNumber numberWithInt:[s intValue]];
[numArray addObject:num];
}
// Swift 4
let numbersStr = "20,30,40,42".components(separatedBy: ",")
let numbers = numbersStr.flatMap { Int($0) }
如果用flatMap
替换map
,则会在Int而不是Int上获得选项。
答案 1 :(得分:0)
使用[string componentsSeparatedByString:@","]
应该有效。 :)
答案 2 :(得分:0)
考虑到你:
NSString *myString = @"20,30,40,42";
首先将单个数字字符串分开如下:
NSArray *myNumberStringArray = [myString componentsSeparatedByString:@","];
然后获取NSNumber数组如下:
NSMutableArray *myNumberArray = [[NSMutableArray alloc] init];
for (NSString *nString in myNumberStringArray )
{
[myNumberArray addObject:[NSNumber numberWithInt:[nString intValue]];
}
干杯!