0

我之前用太多代码问过这个问题。

ViewController 在 ViewController 中初始化一个 UIView 链,Controller>>View>>SubView。在 SubView 初始化之后, ViewController 被设置为它的委托:

aSubView.delegate = self;

NSLog(@"$@",aSubview.delegate),返回 ViewController,所以我知道它已设置。

在 SubView 中,NSLog(@"$@",self.delegate),返回随机废话,例如 hr.lproj 或 Foundation 框架的文件路径。

尝试实现任何委托方法时它会崩溃,因为委托没有链接到 ViewController 而是随机的。

这是 SubView.h 文件的样子:

#import "TestDelegate.h"

@interface TestSubView : UIView {

 id<TestDelegate> delegate;
}

@property (assign) id<TestDelegate> delegate;

编辑: ViewController 在应用程序委托中初始化,如下所示:

ViewController *controller = [[ViewController alloc] init]; 
[window addSubview:controller.view];
[controller release];

我添加到 App Delegate 的唯一另一件事是导入 ViewController 标头

4

1 回答 1

1

Is it possible the view controller object is being released/dealloced between the two calls to NSLog?

于 2010-11-22T23:44:37.273 回答