-1

x 座標と y 座標をカスタム オブジェクトに入力する必要があります。入力の形式は「x,y」です。

現在、入力を として保存しておりNSString、そこから整数を取得して別の に格納する必要がありますNSNumbers。簡単に入力を保存する別の方法がある場合は、説明してください。

x と y を別NSNumbersのものとして保存する必要があります。これも、x と y が 2 桁の場合を考慮する必要があります。すなわち"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]);

2 桁かどうかを確認するには:

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 に答える