所以这是我的问题。我认为它是一个简单的,但我无法弄清楚为什么这不起作用。
我需要从另一个类(ServiceController)访问一个类(RootViewController)中的插座(UITextField、UITableView、UIActivityIndicatorView 等)。
我目前有这个(只显示需要什么):
RootViewController.h
@interface RootViewController : UIViewController{
UITextField *textField;
}
@property (nonatomic, retain) IBOutlet UITextField *textField;
- (void)startService;
@end
根视图控制器.m
@implementation RootViewController
@synthesize textField;
- (void)startService{
ServiceController *service = [[ServiceController alloc] init];
[service start];
[service release];
}
@end
服务控制器.h
@class RootViewController;
@interface ServiceController : NSObject{
}
@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
- (void)start;
@end
服务控制器.m
#import "RootViewController.h"
@implementation ServiceController
@synthesize rootViewController;
- (void)start{
[((RootViewController*)rootViewController).textField setText:@"HELLO !"];
NSLog(@"CALLED !");
}
@end
我不明白为什么这不起作用,我使用相同的方法从 RootViewController 到 DetailViewController 做同样的事情,它工作正常。我检查了细节/根控制器中是否有任何其他声明允许它工作,但我没有注意到任何。
PS:一切都被成功调用并“调用!” 正在被记录,只是我对插座所做的任何事情都没有效果。