目标C:可能不回应(问题)

时间:2010-11-03 00:45:11

标签: user-interface

我在appdelegate.h中有两个UINavigationController

{
    UINavigationController *leftView;  
    UINavigationController *rightView;
    UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *leftView;
@property (nonatomic, retain) IBOutlet UINavigationController *rightView;

appdelegate.m

@synthesize leftView;
@synthesize rightView;

然后在另一个班级

test.m

#import "appdelegate.h"  

如果我这样做:

[self leftView] pushViewController...; //(Everything is ok)

但如果我将其更改为:

[self rightView] pushViewControll...; //it complains about ViewController may not respond to -rightView

3 个答案:

答案 0 :(得分:1)

我会冒险猜测:你是否为rightView声明并合成了一个属性,或者至少提供了自己的手动吸气剂?

答案 1 :(得分:1)

你的代码似乎是正确的;看起来不对的是你包括AppDelegate。如果代码在AppDelegate.m中,它可能会在没有编译器任何抱怨的情况下工作。

相反,你已经为每个定义了@property行,但这是在AppDelegate.h中,而不是test.h - 但是你在test.m中使用它们。这可能是问题的根源。

有趣的是,代码实际上运行了吗?

答案 2 :(得分:0)

听起来你声明了一个名为leftView的@property或方法返回了leftView ivar,但是你忘了对rightView做同样的事情。该错误告诉您self没有响应选择器rightView