0

我正在尝试在我的应用程序中使用故事板。我开始很好,我添加了两个视图控制器,带有一个从第一个到第二个的按钮。问题出在第二个视图控制器中:我在其上添加并与代码链接的对象不起作用。当我在视图控制器代码中设置断点时,'self.property' 设置为零,而它应该由情节提要实例化。

我一直在寻找几个小时的答案,我真的不明白这个问题,因为其余的似乎都很好。

我试图在代码中编写属性(强/非原子,非原子/保留,甚至弱/非原子),将对象直接链接到代码,以便它自动创建属性,但除了“nil”之外,我什么也没得到"带有断点。

视图控制器.h:

@interface NMLoadingViewController : UIViewController
{
    __weak IBOutlet UIProgressView *imageProcessingProgressView;
}
@property (weak, nonatomic) IBOutlet UIProgressView *imageProcessingProgressView;

@end

米:

@synthesize imageProcessingProgressView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    // Custom initialization
    NSLog(@"INIT.");
}

(amont其他不相关的代码行)

如果我将断点设置为“INIT”。行,我的 imageProcessingProgressView 为零。我看不出原因,我想我错过了一个非常小的细节......

(请注意,我已经尝试过使用其他对象,例如 UILabel,但它也不起作用。陌生人,当我有两个对象时,其中一个对象的地址不是 nil,但它仍然被损坏并且没有显示正确的对象。)

编辑:这很麻烦......问题是关于XCode中的变量视图,它将我的变量显示为“nil”,而日志显示了一个正确的对象......

4

3 回答 3

1

确保NMLoadingViewController是你的 viewController 上的类

于 2012-06-07T16:17:33.357 回答
1

删除这个...

{
    __weak IBOutlet UIProgressView *imageProcessingProgressView;
}

...并使财产变得强大。

将您的日志消息更改为...

NSLog(@"INIT: %@", self.imageProcessingProgressView);

...看看你是否还有问题。如果你这样做了,那么再看看你的故事板连接。

于 2012-06-07T16:25:37.010 回答
0

首先尝试@Eric 的答案,因为我相信这是真正的问题。

此外,请确保您实际上是在使用界面构建器将控件挂钩回视图控制器。这是通过将一条线从控件拖回视图控制器的属性来完成的。

于 2012-06-07T16:20:18.270 回答