Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios &引用;无法识别的选择器发送到类“0”;尝试在整个Xcode工作区中共享代码时崩溃_Ios_Objective C_Xcode_Workspace_Search Path - Fatal编程技术网

Ios &引用;无法识别的选择器发送到类“0”;尝试在整个Xcode工作区中共享代码时崩溃

Ios &引用;无法识别的选择器发送到类“0”;尝试在整个Xcode工作区中共享代码时崩溃,ios,objective-c,xcode,workspace,search-path,Ios,Objective C,Xcode,Workspace,Search Path,复制步骤: 创建新的Xcode工作区(WorkspaceTest) 创建一个名为“One”的单一视图项目 在工作区(不是项目)中,创建一个名为“共享”的组。在该文件夹中创建一个名为UIColor+Hex的类别: .h: .m: 转到“一个”目标生成设置,并为标题搜索路径添加此设置: /Users/me/iOS/test/WorkspaceTest/Shared 转到默认的ViewController.h并添加以下内容: #import "UIColor+Hex.h" - (void)view

复制步骤:

创建新的Xcode工作区(WorkspaceTest)

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

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

.h:

.m:

转到“一个”目标生成设置,并为标题搜索路径添加此设置:

/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文件中。我还需要做什么?

是否正在生成.m文件并包含在你的应用程序中?嗯,显然不是。问题是如何包含它。我忘记了细节(自从我这么做已经有一段时间了,手头没有mac),但基本上是在文件上,选择它的属性,然后在构建目标列表中检查你的项目。如果文件已经在项目中。这是不属于任何单个项目的共享文件组的情况。正如我上面所说,它是在工作区中创建的,而不是在项目中创建的。我希望它对工作区中的所有项目都可用。对于不在项目中的文件,没有“目标成员资格”选项。您必须将其添加到项目中。我不能告诉你细节。(不,也许我可以。在左侧的文件列表中添加一个“共享”文件夹,然后选择“添加文件”或类似选项。)
#import "UIColor+Hex.h"

- (void)viewDidLoad {
    [super viewDidLoad];        
    self.view.backgroundColor = [UIColor colorWithHexString:@"ff0000"];
}
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[UIColor colorWithHexString:]: unrecognized selector sent to class 0x107db8c60