1

重现步骤:

创建一个新的 Xcode 工作区 (WorkspaceTest)。

创建一个名为“One”的单视图项目。

在工作区(不是项目)中,创建一个名为“Shared”的组。在该文件夹中创建一个名为 UIColor+Hex 的类别:

。H:

@interface UIColor (Hex)

+ (UIColor *)colorWithHexString:(NSString*)hexString;

@end

米:

@implementation UIColor (Hex)


+ (UIColor *)colorWithHexString:(NSString *)hexString {
   //implementation here
}

@end

转到“一个”目标构建设置并将其添加到标题搜索路径:

/Users/me/iOS/test/WorkspaceTest/Shared

转到默认的 ViewController.h 并添加以下内容:

#import "UIColor+Hex.h"

- (void)viewDidLoad {
    [super viewDidLoad];        
    self.view.backgroundColor = [UIColor colorWithHexString:@"ff0000"];
}

该项目编译良好,这意味着它找到了 UIColor+Hex.h。

但是,当它运行时,我得到了这个:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[UIColor colorWithHexString:]: unrecognized selector sent to class 0x107db8c60

此方法存在于 UIColor+Hex.m 文件中。我还需要做什么?

4

0 回答 0