【发布时间】:2012-08-03 01:22:30
【问题描述】:
我在我的 appdelegate 类中声明了一个委托,所以它看起来像:
@protocol LoginDelegate
- (void) loadData:(NSObject *)viewCon;
@end
@class RootViewController;
@class DetailViewController;
@interface TestAppDelegate : NSObject <UIApplicationDelegate, LoginViewControllerDelegate, RKObjectLoaderDelegate> {
id <LoginDelegate> delegate;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UISplitViewController *splitViewController;
@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@property (nonatomic, retain) IBOutlet DetailViewController *detailViewController;
@property (nonatomic, assign) id <LoginDelegate> delegate;
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//some code
[self.delegate loadData:self];
//some code
return YES;
}
在我的另一个类中,我实现了这个委托:
- (void) loadData:(NSObject*)viewCon
{
NSLog(@"LOADING DATA");
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/groups.json" delegate: self];
}
但是,为什么它没有被调用?
【问题讨论】:
-
你在哪里设置代理?
-
设置委托是什么意思?
-
您正在将 UIApplicationDelegate 方法
didFinishLaunchingWithOptions中的loadData消息发送到 self.delegate。你在哪里设置self.delegate?如果您使用模板创建了项目,则 appDelegate 类直接从 NSObject 继承,并且没有委托字段。 -
@Nick,是的,这是一个使用模板创建的项目,它直接从 NSObject 继承......我只是很困惑,因为我通常在创建它时设置委托,在这种情况下我没有知道谁创建了应用委托
标签: objective-c ios cocoa-touch