OC 的协议中的类方法,无法让 xcode 自动补全

1 天前
 wangyapu

如题,

协议中的实例方法,是可以自动补全的,例如:

id<MainServiceProtocol> obj = [[SIMBeeHive shareInstance] createService:@protocol(MainServiceProtocol)];
    obj tes
    // 这里会自动补全 MainServiceProtocol 协议中的实例方法

但如果是类方法,就无法自动补全,手打出来是没问题的:

Class<AClassServiceProtocol> aClassObj = [[SIMBeeHive shareInstance] createClassService:@protocol(AClassServiceProtocol)];
    [(Class <AClassServiceProtocol>)aClassObj aClassMethod:@"" aStringParam2:@""];
    // 这个方法是纯手打的

目前的猜想,xcode 的 Clang 自动补全压根没想过支持协议中的类方法,那有没有办法去修改 clang 去支持这个特性呢?

求指点!

492 次点击
所在节点    iDev
3 条回复
iOCZS
1 天前
应该也是支持的吧
wangyapu
1 天前
@iOCZS 你可以试下哈,我是尝试过,确实不行,并且去多处求证发现网上没有人讨论这个,才来发帖求助的😂 如果试过可以的话,求告知
iOCZS
1 天前
@protocol TestProtocol <NSObject>

+(void)test;

@end

@interface HelloGLKitViewController : GLKViewController<TestProtocol>

@end

[HelloGLKitViewController test]是有提示的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1080907

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX