从AppDelegate我通过协议与MyViewController通信。所以,当调用此方法在AppDelegate.m:2通过协议ViewController之间的通信
- (void)thisMethodGetsCalled:(CustomData *)data {
//Do stuff
//Then call method via Protocol
[_exampleDelegate exampleMethod:data];
}
它调用此方法MyViewController.m
- (void)thisMethodGetsCalledInsideViewController:(CustomData *)data {
//Do stuff with data
}
//ExampleDelegate.h
#import <Foundation/Foundation.h>
@protocol SMMessageDelegate <NSObject>
- (void)thisMethodGetsCalledInsideViewController:(CustomData *)data;
@end
一切工作正常和预测“thisMethodGetsCalledInsideViewController”被“thisMethodGetsCalled”后调用。说MyViewController从未被实例化,那么“thisMethodGetsCalledInsideViewController”永远不会被调用。然而MyViewController实例化,后来与辞退:
[self dismissViewControllerAnimated:YES completion:nil];
我的应用程序崩溃时“thisMethodGetsCalled”之称。它试图调用“thisMethodGetsCalledInsideViewController”,但该方法驻留在MyViewController中,该方法被解散。有人知道如何解决这个问题吗?
气味像它的ARC启用? –
是。那是问题吗? –