Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在UIViewController中访问不带self.var的对象类成员_Iphone_Objective C - Fatal编程技术网

Iphone 在UIViewController中访问不带self.var的对象类成员

Iphone 在UIViewController中访问不带self.var的对象类成员,iphone,objective-c,Iphone,Objective C,我的视图控制器中有一个视图出口。它的定义如下: IBOutlet MyView * view; int x = [view someMethod:4]; int x = [self.view someMethod:4]; MyView类中有一些实例方法。我尝试在视图控制器中使用它们,如下所示: IBOutlet MyView * view; int x = [view someMethod:4]; int x = [self.view someMethod:4]; Xcode不会显示

我的视图控制器中有一个视图出口。它的定义如下:

IBOutlet MyView * view;
int x = [view someMethod:4];
int x = [self.view someMethod:4];
MyView类中有一些实例方法。我尝试在视图控制器中使用它们,如下所示:

IBOutlet MyView * view;
int x = [view someMethod:4];
int x = [self.view someMethod:4];
Xcode不会显示任何警告,不会产生运行时错误,但它根本不会调用该方法。 当我这样调用方法时:

IBOutlet MyView * view;
int x = [view someMethod:4];
int x = [self.view someMethod:4];

它突然起作用了。为什么呢?为什么我不能直接访问视图变量?

调用
[view someMethod:4]
时,您的
视图可能未初始化(即
=nil
),因此不会发生任何事情


但是,调用
self.view
将保证调用
-loadView
,这反过来又保证了
视图的初始化,所以它可以工作。

谢谢,现在很清楚:)我可以在UIViewController构造函数中显式调用loadView吗?@Dor:可以,但不应该。