Objective c 为什么我会因此而出错?

Objective c 为什么我会因此而出错?,objective-c,cocoa,initwithstyle,Objective C,Cocoa,Initwithstyle,为什么我会犯这些错误? 它说: 错误:在非指令或联合中请求成员“JoketTableView” 这是什么意思?为什么它会断裂。我试着读了一些关于它的书,但我能赶上它 这是我的.h文件: #import <UIKit/UIKit.h> @interface TableViewController : UITableViewController { NSMutableArray *jokes; IBOutlet UITableView *jokeTableView; }

为什么我会犯这些错误?

它说:

错误:在非指令或联合中请求成员“JoketTableView”

这是什么意思?为什么它会断裂。我试着读了一些关于它的书,但我能赶上它

这是我的.h文件:

#import <UIKit/UIKit.h>


 @interface TableViewController : UITableViewController {

NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView; 


 } 

 @property (nonatomic, retain) NSMutableArray *jokes;

 @end
#导入
@接口TableViewController:UITableViewController{
NSMutableArray*笑话;
ibuitableview*jokettableview;
} 
@属性(非原子,保留)NSMUTABLEARRY*;
@结束
谢谢

您的对象(TableViewController)没有名为JoketTableView的属性

为了使用特殊的点运算符访问JoketTableView,它需要是一个属性。否则,您必须使用符合键值编码的方法或直接使用->运算符访问它(或仅将其用作ivar,而不引用self):


但是,还要注意,您正在初始值设定项中设置一个出口,这将不起作用。您必须在-[TableViewController awakeFromNib]方法中进行设置,因为实际调用初始值设定项时,self->jokeTableView将为零(在将对象序列化到nib文件之前在IB中发生)。

由于您在初始时间执行此操作,所以输出应该为NULL,因此此初始化不应执行任何操作。这应该最早在awakeFromNib时间完成。

访问它的方式假设JoketTableView是TableViewController的一个属性。也许你可以尝试复制/粘贴实际代码,小图片没有多大用处:)只是有问题的行的一个剪切,可能是头文件中的相关行。也许它不喜欢你的笑话?(抱歉无法抗拒):-)@lothar lol没关系。如果我是你,我也无法抗拒:菲·杰森。哈哈,这大概是你本周第三次帮助我了!谢谢你,伙计!好的,我添加了我的头文件。。。问题是,我确实说明了jokeTableView是什么…如果已经是这样,为什么要我将其更改为“self.jokeTableView.delegate=self?”?我在awakeFromNib中初始化了jokeTableView,但现在take view是空的。。。它甚至不显示行……他的第四个选项的要点是,如果你想让你当前的(属性)语法正常工作,你可以将它声明为一个属性——正如上面的一行所示。哦,好的,我明白了。但为什么在我这样做之后,我用AwakeFromNib初始化,我的tableView没有出现?
jokeTableView.delegate = self;
self->jokeTableView.delegate = self;
[self jokeTableView].delegate = self;
@property (retain) UITableView *jokeTableView;
// later...
self.jokeTableView.delegate = self;