1

再現する手順:

新しい Xcode ワークスペース (WorkspaceTest) を作成します。

「One」というシングルビュー プロジェクトを作成します。

ワークスペース (プロジェクトではありません) で、「Shared」というグループを作成します。そのフォルダーに、UIColor+Hex というカテゴリを作成します。

.h:

@interface UIColor (Hex)

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

@end

.m:

@implementation UIColor (Hex)


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

@end

「1 つの」ターゲット ビルド設定に移動し、ヘッダー検索パスにこれを追加します。

/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