所以我有两个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];
}
任何帮助将不胜感激
答案 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];