我需要将 x 和 y 坐标输入到自定义对象中,输入格式为“x,y”
我目前将输入存储为 anNSString
并且需要将整数从中取出并放入单独的NSNumbers
. 如果有另一种更容易存储输入的方法,请解释。
我需要将 x 和 y 单独存储NSNumbers
,这也需要考虑 x 和 y 是否为 2 位数字。IE"23,4"
谁能帮忙?
我需要将 x 和 y 坐标输入到自定义对象中,输入格式为“x,y”
我目前将输入存储为 anNSString
并且需要将整数从中取出并放入单独的NSNumbers
. 如果有另一种更容易存储输入的方法,请解释。
我需要将 x 和 y 单独存储NSNumbers
,这也需要考虑 x 和 y 是否为 2 位数字。IE"23,4"
谁能帮忙?
利用-[NSString componentsSeparatedByString:]
NSArray *numericComponents = [string componentsSeparatedByString:@","];
NSArray *numbers = [numericComponents map:^id(NSString *object) {
return @([object integerValue]);
}];
map
这只是我添加的一个类别方法NSArray
:
@implementation NSArray (JRAdditions)
- (NSArray *)map:(id(^)(id))block {
if([self count] == 0 || block == nil) return self;
NSMutableArray *mapped = [NSMutableArray new];
NSArray *copy = [self copy];
for(id obj in copy) {
id mappedObject = block(obj);
if(mappedObject) {
[mapped addObject:mappedObject];
}
}
return [mapped copy];
}
@end
NSString *str=@"23,4";
NSArray *array=[str componentsSeparatedByString:@","];
NSNumber *xNum=@([array[0] integerValue]);
NSNumber *yNum=@([array[1] integerValue]);
要检查它们是否是两位数:
if ([xNum integerValue]>9 && [xNum integerValue]<100) {
NSLog(@"x is 2 digits");
}
else{
}
if([yNum integerValue]>9 && [yNum integerValue]<100) {
NSLog(@"y is 2 digits");
}
else{
}