1

たとえば、次のように、AppDelegate クラスでカスタム デリゲートを作成できるかどうかを知りたいです。

@protocol AppDelegateDelegate <NSObject>

- (void)finishSync:(BOOL)success;

@end

@interface AppDelegate : UIResponder <UIApplicationDelegate> {

@property (nonatomic, weak) id <AppDelegateDelegate> delegate;

@end

このようなものを作成することは可能ですか?このデリゲートに登録されているクラスに通知するには?

編集 どのようにデリゲートを使用できますか? たとえば、私がこれを行う場合:

#import "AppDelegate.h"

@interface MasterViewController : UIViewController <AppDelegateDelegate>

@end

.m

@implementation MasterViewController

...

- (void)viewDidLoad {
  AppDelegate *appController = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  appController.customDelegate = self;

}

私はそのビューでのみ機能しますが、たとえば、デリゲートを実装する同じコードを持つ SecondViewController に切り替えると、デリゲートは MasterViewController でも機能しなくなります...何が間違っていますか?

4

1 に答える 1

1

はい、それで結構です。そのクラスをインポートすることで、どこでもデリゲートを作成し、どこでも使用できます。制限はありません。

于 2012-12-13T00:20:14.983 に答える