0

テキストフィールドからさまざまな整数値を読み取りたいので、次のコードを用意しました。

NSString *string1,*string2;
string1= [textField stringValue];
int i,c;
c=0;
NSInteger values[50];
for (i=0; i<50; ) {
    string2=[NSString stringWithFormat:@"%@%i%s",@" ",i,","];

    NSRange range=[string1 rangeOfString:string2];

    if (range.location != NSNotFound) {
        values[c]=i;
        c=c+1;

    }
    i=i+1;
}

それには問題はありませんが、「2、3、15」のような文字列の最初の数字を読み取ることはできませんが、そのような文字列も読み取れるようにしたいので、誰か助けてくださいこの問題。

そして、この @"i", "," のような string2 を作成すると、5 と 15 を読み取るため、15 のような値で問題が発生します

4

1 に答える 1

2

代わりにこれを行うのはどうですか:

NSArray *integerStrings = [[textField stringValue] componentsSeparatedByString:@","];

for (NSString *integerString in integerStrings) {
    NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:integerString];

    // do whatever you want with the number...
}

または、数値が常に整数である場合、ループは次のようになります。

for (NSString *integerString in integerStrings) {
    NSInteger number = [integerString integerValue];

    // do whatever you want with the number...
}
于 2013-06-23T10:43:28.200 に答える