iPhone - 使用类属性时释放崩溃

标签 iphone attributes crash release

简单的问题...

当我点击overlayController View 上的按钮时,为什么这个版本会使我的应用程序崩溃?

    OverlayViewController* overlayController = [[OverlayViewController alloc]
                                                initWithNibName:@"Overlay"
                                                         bundle:nil];
    self.picker.cameraOverlayView = overlayController.view;
    [overlayController release];

换句话说,如何在该 viewDidLoad 方法之外调用 OverlayViewController 方法?

奇怪...我不明白为什么我的应用程序可以工作:-)

最佳答案

嗯,我可以很容易地回答第二个问题:

How can the OverlayViewController methods be called outside of this viewDidLoad method?

只需向您的 viewController 添加一个属性即可:

MyViewController.h:

@interface MyViewController : UIViewController {
    OverlayViewController* overlayController;
}
@property (nonatomic, retain) OverlayViewController* overlayController;
@end

MyViewController.m:

@implementation MyViewController
@synthesize overlayController;

- (void)viewDidLoad {
    OverlayViewController* ovc = [[OverlayViewController alloc]
                                   initWithNibName:@"Overlay" bundle:nil];
    self.overlayController = ovc;
    [ovc release];
    self.picker.cameraOverlayView = self.overlayController.view;
}

- (void)someOtherMethod {
    [self.overlayController someMethod];
}

- (void)dealloc {
    [overlayController release];
    [super dealloc];
}

@end

关于iPhone - 使用类属性时释放崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318267/

相关文章:

iphone - NSUserDefaults 与 NSKeyedArchiver

vb.net - .Net 如何查找给定警告的 SuppressMessageAttribute 类别 (BC42015)

vue.js - Vue - 属性内插值

ios - xCode 4.6 上的异常信息不丰富

iphone sdk - 从字符串中删除除数字 0-9 之外的所有字符

iphone - 我们可以使用开发人员配置文件上传 (.ipa) 到 testflight 吗?

iphone - 尝试与 iPhone 应用程序集成时,Google plus SDK 会发出链接器错误

java - ARFF 文件中的类属性

iphone - App在Apple崩溃,但尚未测试

java - 应用程序在 sleep 后崩溃