iPhone,在UIPickerView中显示包含NSStrings的NSMutable Array

时间:2009-10-09 17:52:34

标签: iphone nsstring nsmutablearray nsarray uipickerview

我有一个方法,包含以下代码:

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之间的一系列数字来填充我的选择器......

任何帮助都会非常感激......这件事让我很生气:)

2 个答案:

答案 0 :(得分:0)

我认为你不想要[myString发布];在你的第一个for循环中,因为你创建的字符串是自动释放的(经验法则,没有alloc,init或new创建的任何东西都是自动释放的)

答案 1 :(得分:0)

问题解决了....与pickerview中的元素数量有关,与方法本身无关!不管怎样,谢谢!