该程序基本上是这样的:
==================================
有一个UIViewController,它具有NSInteger的实例变量:
我在UIViewController .h文件中将其声明为:
NSInterger *theNum;
...
@property NSInteger *theNum;
然后,我将其合成为.m文件:
@synthesize theNum;
此UIViewController的视图(UIView)具有doSomething方法:需要访问Num的值。
这是此“视图” .m文件中的代码:
-(void)doSomething {
NSInteger *myNum = self.superview.theNum; //error: request for member 'theNum' in something not a structure or union
// do something
}
=============================
那么如何从UIViewController到UIView获取theNum的值呢?
感谢高级!并祝大家圣诞快乐。
最佳答案
您需要将数字从UIViewController传递到UIView。控制器应该了解视图,而不是相反。
//SomeView.h
@interface SomeView : UIView
NSInteger theNum;
//You have NSInteger *theNum. I am guessing you made that a pointer by accident
}
@property(assign) NSInteger theNum;
@end
//SomeViewController.m
-(void)viewDidLoad
{
[super viewDidLoad];
((SomeView*)self.view).theNum = theNum;//This theNum belongs to the ViewController
}
关于iphone - UIView如何访问UIViewController的属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4512894/