从UITextField设置值

时间:2014-03-21 16:30:33

标签: ios

所以我有两个UITextField一个用于代表,一个用于重量。然后将这些内容写入自定义类BYFsets。然后将其写入另一个自定义类BYFWorkOut中的数组,但由于某种原因,我一直在向数组写入null。

我为数组''_workOut.sets'提出了一个指向null的指针,为什么?以及如何解决它?

这是我的代码

-(IBAction)nextSet:(id)sender
{
    switch (setNumber.text.intValue) {
        case 1:
            setNumber.text=@"2";
            break;
        case 2:
            setNumber.text=@"3";
            break;
        case 3:
            setNumber.text=@"4";
            break;
        case 4:
            setNumber.text=@"5";
            break;
        case 5:
            setNumber.text=@"6";
            break;
        default:
            NSLog(@"she be default bro");
            setNumber.text=@"1";
            break;
    }


    BYFSets *set =[[BYFSets alloc] init];
    set.wieght = weight.text;
    set.reps = reps.text;

    [_workOut.sets addObject:set];
}

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:3)

你没有正确分配对象,这......

BYFSets *set;
set.wieght = weight.text;
set.reps = reps.text;

应该是......(更新以显示NSLog)

BYFSets *set = [[BYFSets alloc] init];
set.wieght = weight.text;
set.reps = reps.text;

//Now NSLog it
NSLog(@"value:%@",set);

答案 1 :(得分:1)

问题是这段代码:

BYFSets *set;
set.wieght = weight.text;

声明 BYFSets变量(set),但您没有给它任何。因此它是零。因此与之相关的一切都是零。 set.wieght仅仅是向nil发送消息的一种方式;它没有效果。当你记录它时,它当然仍然是零。

答案 2 :(得分:0)

您没有初始化BYFSets

你需要这样做

BYFSets * set = [[BYFSets alloc] init];