在下面的代码中,我使用NSClassFromString将NSString“ColorFilter”转换为类名称ColorFilter。 ColorFilter类的结果似乎与导入语句中具有相同名称的头文件中定义的类没有关联。由NSClassFromString导致的类不与头文件中定义的类关联
#import "ColorFilter.h" //ColorFilter is a subclass of UIViewController which also has an iVars name imageView of UIImageView class
在我.m文件
:
在我的h文件NSString *filter = @"ColorFilter";
UIViewController *myFilterClass = [[NSClassFromString(filter) alloc] initWithNibName:filter bundle:nil];
我从线得到以上是错误[ColorFilter initWithNibName:束:]:无法识别的选择发送到实例...
为了测试,我修改了最后一行是:
UIViewController *myFilterClass = [[NSClassFromString(filter) alloc] init];
myFilterClass.imageView = .....;
现在,我得到的错误是 - [ColorFilter setImageView:]:无法识别的选择发送到实例...
我的结论是,这是由NSClassFromString产生的ColorFilter类不知道这个事情的#import“ ColorFilter.h”。
不知道我的错误是什么?
它在那里。另外如果我用实例化语句中的ColorFilter替换NSClassFromString(filter)。一切都按预期工作。 – user523234
在colorfilter对象上调用classname以查看应用程序的名称 –
请参阅我对此帖的回答。 – user523234