gpt4 book ai didi

ios - For...in 循环导致使用未声明的标识符

转载 作者:行者123 更新时间:2023-11-29 01:42:37 25 4
gpt4 key购买 nike

我对 Objective-C 还是个新手(有 Java 和 C# 背景),我正在为我正在开发的 iOS SDK 实现一个插件系统。

我已经将我的插件头文件 (Plugin.h) 定义如下(java counterpath 将是一个抽象类,如果我在这里做错了什么请纠正我)。

@protocol Plugin <NSObject>
@required
- (void)initialize;
- (NSString *) getPluginName;
- (NSString *) getVersion;
@end

然后我的 SDK 中有一个方法可用于注册插件。该数组将是从 TFTPplugin 继承的对象数组。

+ (void)registerPlugins:(NSMutableArray*) array
{
for(Plugin *plugin in array)
{
[pluginClasses addObject:plugin];
}
}

但我在 for 循环中遇到错误:使用未声明的标识符“插件”。

知道我在这里做错了什么吗?

谢谢

最佳答案

试试这个:

for(id plugin in array){
if([[plugin class] conformsToProtocol:@protocol(Plugin)]) {
[pluginClasses addObject:plugin];
}
}

如果您知道传入的所有内容确实符合协议(protocol),则检查它是否符合协议(protocol)是可选的。

关于ios - For...in 循环导致使用未声明的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32238591/

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