gpt4 book ai didi

iphone - 在类方法中使用委托(delegate)

转载 作者:行者123 更新时间:2023-11-28 20:18:44 25 4
gpt4 key购买 nike

我想在类方法中调用委托(delegate)。

下面的示例显然不起作用,因为委托(delegate)是在类方法中访问的实例变量。 (错误:在类方法中访问了实例变量“delegate”)

有没有alertnative?

我的头文件:

//  MyClass.h

#import <Foundation/Foundation.h>

@protocol MyDelegate <NSObject>

-(void)update;

@end

@interface MyClass : NSObject
{
id<MyDelegate> delegate;
}
@property (nonatomic, retain) id delegate;

+(void)methodThatInvokesDelegate;
@end

我的实现文件:

//  MyClass.m
#import "MyClass.h"

@implementation MyClass
@synthesize delegate;

+(void)methodThatInvokesDelegate{
[delegate update];
}

@end

最佳答案

三个明显的选择:

  • 单例
  • 指向委托(delegate)的静态变量(即类变量)
  • 使用 NSNotification 而不是委托(delegate)

由于单例(和静态变量)无法跟踪委托(delegate)的生命周期,我认为选项三是最干净的。

关于iphone - 在类方法中使用委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com