0
我有兩個類DetailViewController和FactTableViewController。我想從FactTableViewController的DetailViewController中調用reloadData方法。下面的代碼編譯並執行,但reloadData永遠不會從FactTableViewController調用。Xcode:objective c不能調用另一個類的方法
DetailViewController.m
//....
-(void) reloadData
{
//code to refresh data
NSLog(@"reloadData");
}
FactTableViewController.h
#import "DetailViewController.h"
//...
FactTableViewController.m
@interface FactTableViewController()
@property (assign,nonatomic) DetailViewController *delegate;
@end
@implementation FactTableViewController
//...
@synthesize delegate = _delegate;
//...
@end
//...
-(void) doneButton:(UIBarButtonItem *) sendor
{
NSLog(@"doneButton pressed"); //this gets called
[_delegate performSelector:@selector(reloadData)]; //this does not get called
}
//...
你如何實例化'DetailViewController *委託'? – esqew 2014-10-29 15:04:52
注意:'@ synthesisize'不是必需的,幾年來一直不需要。另外Xcode不會調用任何東西,它是一個IDE(花式代碼編輯器)。 – zaph 2014-10-29 15:09:09
我是新來的ios開發和*委託沒有獲得初始化。應該* delegate被實例化爲:delegate = [[DetailViewController alloc] init]; – Chuck 2014-10-29 15:16:04