-1

我需要将 x 和 y 坐标输入到自定义对象中,输入格式为“x,y”

我目前将输入存储为 anNSString并且需要将整数从中取出并放入单独的NSNumbers. 如果有另一种更容易存储输入的方法,请解释。

我需要将 x 和 y 单独存储NSNumbers,这也需要考虑 x 和 y 是否为 2 位数字。IE"23,4"

谁能帮忙?

4

2 回答 2

3

利用-[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
于 2013-03-25T07:27:55.713 回答
0
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{

}
于 2013-03-25T07:29:12.177 回答