0

为什么我会收到这些错误? 替代文字 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

谢谢!

4

2 回答 2

7

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

为了使用特殊的点运算符访问jokeTableView,它需要是一个属性。否则,您必须使用符合 Key-Value-Coding 的方法或直接使用 -> 运算符来访问它(或者仅将其用作 ivar 并且不引用 self):

jokeTableView.delegate = self;

或者

self->jokeTableView.delegate = self;

或者

[self jokeTableView].delegate = self;

或者

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

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

于 2009-05-15T02:13:05.997 回答
0

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

于 2009-05-15T17:14:11.183 回答