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 superview]:无法识别的选择器发送到实例 0x380da90 *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** -[NSCFString superview]:无法识别的选择器发送到实例 0x380da90”

如果我使用包含 UIImages 的 UIImageView 而不是使用包含字符串的数组,那么一切正常......

我只想用从 1 到 50 的数字数组填充我的选择器...

任何帮助将不胜感激......这件事让我发疯:)

4

2 回答 2

0

问题解决了......与pickerview中的元素数量有关,与方法本身无关!不管怎么说,还是要谢谢你!

于 2009-10-10T12:18:25.877 回答
0

我不认为你想要 [myString release]; 在您的第一个 for 循环中,因为您创建的字符串是自动释放的(根据经验,没有 alloc、init 或 new 创建的任何内容都是自动释放的)

于 2009-10-09T18:28:22.027 回答