1

私はDAYSのためにこれを理解しようとしています。初心者ですので、よろしくお願いします。委任に関する記事をたくさん読みましたが、まだ理解できません。どんな助けでも大歓迎です。

ヘッダ

@protocol MidiInit <NSObject>
@end


@interface CBAppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) id midiDelegate;

-(id) initWithDelegate :(id <MidiInit>) delegate;

@end

実装

@synthesize midiDelegate;

-(id) initWithDelegate:(id<MidiInit>)delegate
{
if ((self = [super init]))
{
    self.midiDelegate = delegate;
    midi = [[MidiClass alloc] initWithDelegate://not sure what to put here];
}
return self;
}
4

1 に答える 1

0

あなたが何を達成しようとしているのかを知ることは役に立ちますが、あなたが私たちに示していることからすると、ほとんどすべてが間違っているように見えます:-)

アプリケーションデリゲートを見せていますか?もしそうなら、アプリケーションデリゲートから別のデリゲートに委任するポイントは何ですか? 標準的なアプローチとは思えません。

第 2 に、おそらくデリゲートへの「強い」参照は必要ないため、メモリ リークが発生する可能性があります。

しかし、正直なところ、ここでの本当の問題はあなたが指摘していることではないと思います.アプローチ全体が間違っているようです. あなたが達成しようとしていることについて詳しく教えてください。それに応じて回答を更新しようとします。

于 2012-06-03T07:13:48.513 に答える