【发布时间】:2011-11-28 03:31:07
【问题描述】:
在下面的代码中,我使用 NSClassFromString 将 NSString "ColorFilter" 转换为类名 ColorFilter。结果 ColorFilter 类似乎与我在 import 语句中的头文件中定义的同名类没有关联。
在我的 .h 文件中:
#import "ColorFilter.h" //ColorFilter is a subclass of UIViewController which also has an iVars name imageView of UIImageView class
在我的 .m 文件中:
NSString *filter = @"ColorFilter";
UIViewController *myFilterClass = [[NSClassFromString(filter) alloc] initWithNibName:filter bundle:nil];
我从上面一行得到的错误是 [ColorFilter initWithNibName:bundle:]: unrecognized selector sent to instance...
为了测试,我将最后一行修改为:
UIViewController *myFilterClass = [[NSClassFromString(filter) alloc] init];
myFilterClass.imageView = .....;
现在我得到的错误是 -[ColorFilter setImageView:]: unrecognized selector sent to instance...
我的结论是,由 NSClassFromString 生成的 ColorFilter 类对这个 #import "ColorFilter.h" 一无所知。
知道我的错误是什么吗?
【问题讨论】:
标签: objective-c ios nsstring