我正在尝试在我的应用程序中使用故事板。我开始很好,我添加了两个视图控制器,按钮从第一个到第二个。 问题出在第二个视图控制器中:我在其上添加的对象和与代码链接的对象不起作用。当我在视图控制器代码中设置断点时,'self.property'设置为nil,而它应该由故事板实例化。
我一直在寻找一个小时的答案,我真的不明白这个问题,因为其余的一切似乎都很好。
我试图在代码中编写属性(强/非原子,非原子/保留甚至弱/非原子),将对象直接链接到代码,以便它自动创建属性,但我从来没有得到任何其他东西比断点的“零”。
viewController.h:
@interface NMLoadingViewController : UIViewController
{
__weak IBOutlet UIProgressView *imageProcessingProgressView;
}
@property (weak, nonatomic) IBOutlet UIProgressView *imageProcessingProgressView;
@end
的.m:
@synthesize imageProcessingProgressView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
// Custom initialization
NSLog(@"INIT.");
}
(不是其他无关代码行)
如果我将断点设置为“INIT”。 line,我的imageProcessingProgressView是零。我看不出原因,我想我错过了一些细节......
(注意我已经尝试过其他对象,比如UILabel,但它也没有用。陌生人,当我有两个对象时,其中一个有一个不是零的地址,但它仍然被破坏了没有显示正确的对象。)
编辑:没有什么麻烦......问题在于XCode中的变量视图,它将我的变量显示为“nil”,而日志则显示了一个正确的对象......
答案 0 :(得分:1)
确保NMLoadingViewController
是viewController上的类
答案 1 :(得分:1)
删除此...
{
__weak IBOutlet UIProgressView *imageProcessingProgressView;
}
......并使财产变得强大。
将您的日志消息更改为...
NSLog(@"INIT: %@", self.imageProcessingProgressView);
...看看你是否还有问题。如果你这样做,那么再看一下你的故事板连接。
答案 2 :(得分:0)
首先尝试@Eric的答案,因为我确实认为这是真正的问题。
此外,请确保您实际上正在使用界面构建器将控件挂钩回视图控制器。这是通过将一行从控件拖回视图控制器的属性来完成的。