x 座標と y 座標をカスタム オブジェクトに入力する必要があります。入力の形式は「x,y」です。
現在、入力を として保存しておりNSString
、そこから整数を取得して別の に格納する必要がありますNSNumbers
。簡単に入力を保存する別の方法がある場合は、説明してください。
x と y を別NSNumbers
のものとして保存する必要があります。これも、x と y が 2 桁の場合を考慮する必要があります。すなわち"23,4"
誰でも助けることができますか?
x 座標と y 座標をカスタム オブジェクトに入力する必要があります。入力の形式は「x,y」です。
現在、入力を として保存しておりNSString
、そこから整数を取得して別の に格納する必要がありますNSNumbers
。簡単に入力を保存する別の方法がある場合は、説明してください。
x と y を別NSNumbers
のものとして保存する必要があります。これも、x と y が 2 桁の場合を考慮する必要があります。すなわち"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]);
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{
}