为什么我会收到此错误?

发布于 2024-07-19 14:07:43 字数 817 浏览 4 评论 0原文

为什么我会收到这些错误? 替代文本 http://img39.imageshack.us/img39/2203/help.tif< /a>

它说:

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

这是什么意思? 以及为什么它会破裂。 我尝试阅读有关 initWithStyle 但我只能赶上它

这是我的 .h 文件:

#import <UIKit/UIKit.h>


 @interface TableViewController : UITableViewController {

NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView; 


 } 

 @property (nonatomic, retain) NSMutableArray *jokes;

 @end

谢谢!

Why am I getting these errors?
alt text http://img39.imageshack.us/img39/2203/help.tif

It says:

Error: Request for member "jokeTableView" in something not a struction or union

What does that mean? And why is it breaking. I tried reading about initWithStyle but I just could catch up on it

Here is my .h file:

#import <UIKit/UIKit.h>


 @interface TableViewController : UITableViewController {

NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView; 


 } 

 @property (nonatomic, retain) NSMutableArray *jokes;

 @end

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

假面具 2024-07-26 14:07:43

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

为了使用特殊的点运算符访问jokeTableView,它需要是一个属性。 否则,您必须使用符合键值编码的方法或直接使用 -> 来访问它。 运算符(或仅将其用作 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 将为零(这发生在 IB 中,然后将对象序列化到 nib 文件中)。

Your object (TableViewController) has no property named jokeTableView.

In order to access jokeTableView with the special dot operator, it needs to be a property. Otherwise you have to access it using Key-Value-Coding compliant methods or directly using the -> operator (or just use it as an ivar and no reference to self):

jokeTableView.delegate = self;

or

self->jokeTableView.delegate = self;

or

[self jokeTableView].delegate = self;

or

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

Also note, however, that you are setting an outlet in the initializer and this won't work. You'll have to set this in the -[TableViewController awakeFromNib] method since self->jokeTableView will be nil when the initializer is actually called (which happens in IB prior to serializing the object into the nib file).

菊凝晚露 2024-07-26 14:07:43

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

Since you are doing this at init time, the outlets should be NULL, so this initialization shouldn't do anything. This should be done at awakeFromNib time at the earliest.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文