gpt4 book ai didi

iphone - Objective-C : Class Extensions and Protocol Conformation Warnings

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:40 25 4
gpt4 key购买 nike

我有一个很大的类,为了便于阅读,我把它分成了几个不同的类扩展文件。

@protocol MyProtocol
@required
-(void)required;
@end

@interface MyClass : NSObject <MyProtocol>
@end

@interface MyClass (RequiredExtension)
-(void)required;
@end

有没有更好的方法来做到这一点,而且没有编译器警告?

 warning: class 'MyClass' does not fully implement the 'MyProtocol' protocol

最佳答案

为每个协议(protocol)实现使用一个类别。当我有复杂的 viewControllers 时,我会使用它。

例如,我有一个实现 NSTextDelegate 协议(protocol)的类别。

所以,MyComplexViewController+NSTextDelegate.h:

#import "MyComplexViewController.h"

@interface MyComplexViewController (NSTextDelegate) <NSTextDelegate>

@end

和 MyComplexViewController+NSTextDelegate.m:

#import "MyComplexViewController+NSTextDelegate.h"

@implementation MyComplexViewController (NSTextDelegate)

- (BOOL)textShouldBeginEditing:(NSText *)textObject{
...
}

- (BOOL)textShouldEndEditing:(NSText *)textObject{
...
}

- (void)textDidBeginEditing:(NSNotification *)notification{
...
}

- (void)textDidEndEditing:(NSNotification *)notification{
...
}

- (void)textDidChange:(NSNotification *)notification{
....
}

@end

然后我获取主类定义和类别的所有 header ,并将它们组合成一个 header ,然后将其导入需要使用该类的地方。

关于iphone - Objective-C : Class Extensions and Protocol Conformation Warnings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438214/

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