为什么我收到错误?

时间:2009-05-15 02:06:32

标签: objective-c cocoa initwithstyle

为什么我会收到这些错误? alt text http://img39.imageshack.us/img39/2203/help.tif

它说:

  

错误:请求成员“jokeTableView”,而不是结构或联合

这是什么意思?为什么它会破裂。我尝试阅读initWithStyle,但我可以赶上它

这是我的.h文件:

#import <UIKit/UIKit.h>


 @interface TableViewController : UITableViewController {

NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView; 


 } 

 @property (nonatomic, retain) NSMutableArray *jokes;

 @end

谢谢!

2 个答案:

答案 0 :(得分:7)

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

为了使用特殊的点运算符访问jokeTableView,它需要是一个属性。否则,您必须使用符合键值编码的方法或直接使用 - &gt;来访问它。运算符(或者只是将其用作ivar而不是自我引用):

jokeTableView.delegate = self;

self->jokeTableView.delegate = self;

[self jokeTableView].delegate = self;

@property (retain) UITableView *jokeTableView;
// later...
self.jokeTableView.delegate = self;

但请注意,您在初始化程序中设置了一个插座,但这不起作用。你必须在 - [TableViewController awakeFromNib]方法中设置它,因为当实际调用初始化程序时,self-gt; jokeTableView将为nil(在将对象序列化为nib文件之前在IB中发生)。

答案 1 :(得分:0)

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