0

次のコードを使用したメソッドがあります。

NSMutableArray *pickerArray = [[NSMutableArray alloc] init];

    int i;

    for(i = 1; i <= 7; i++) {
        NSString *myString = [NSString stringWithFormat:@"%@", i];
        [pickerArray addObject:myString];
    }

    for(i = 1; i <= 7; i++) {
        NSString *fieldName = [[NSString alloc] initWithFormat:@"column%d", i];

        [self setValue:pickerArray forKey:fieldName]; // setValue or initWithArray ???

        [fieldName release];
        [pickerArray release];
    }

    srandom(time(NULL)); 

アプリケーションをビルドすると、すべてが正しくビルドされますが、コンソールで起動するとクラッシュし、次のエラーが表示されます。

* -[NSCFString スーパービュー]: 認識されないセレクターがインスタンス 0x380da90 に送信されました *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '*** -[NSCFString スーパービュー]: 認識されないセレクターがインスタンス 0x380da90 に送信されました'

文字列を含む配列を使用する代わりに、UIImages を含む UIImageView を使用すると、すべてが正しく機能します...

ピッカーに 1 から 50 までの数字の配列を入力したいだけです...

どんな助けでも本当にありがたいです...これは私を怒らせています:)

4

2 に答える 2

0

問題は解決しました....ピッカービューの要素の数と関係があり、メソッド自体とは関係ありません! とにかくありがとう!

于 2009-10-10T12:18:25.877 に答える
0

[myString release] は必要ないと思います。作成した文字列が自動解放されるため、最初の for ループで (経験則では、alloc、init、または new なしで作成されたものはすべて自動解放されます)

于 2009-10-09T18:28:22.027 に答える