无法识别的选择器在自定义init方法上发送到实例

时间:2011-07-08 04:33:33

标签: objective-c cocoa macos

我有一个名为Communicator的对象。

Communicator有一个自定义初始化方法-(id)initWithEmail:(NSString*)theEmail andPassword:(NSString*)thePassword andPlatform:(NSString*)thePlatform;

我的app委托将Communicator作为名为communicator的成员变量。

applicationDidFinishLaunching我这样做

communicator = [[Communicator alloc] initWithEmail:@"email" andPassword:@"password" andPlatform:@"mac"];

在控制台中,它会两次打印-[Communicator initWithEmail:andPassword:andPlatform:]: unrecognized selector sent to instance 0x10064c4b0

该方法存在并已定义。 “communicator”绝对是一个Communicator对象。该项目编译时没有任何警告。

Communicator是在我自己创建的自定义框架中定义的。我使用了otool,它说initWithEmail:andPassword:andPlatform方法就在那里。

在构建框架时,我似乎搞砸了一些东西,但我不知道它可能是什么。项目构建,链接和启动没有问题。 是否有一些我可能搞砸了的项目设置?还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

我设置了一些错误的东西。我没有在自定义框架上处理Framework安装路径,而是将其复制到frameworks文件夹中。当然我忘记了我这样做了,每次我对框架进行更新时,我都会再次将旧版本复制到框架文件夹中。这太令人沮丧了。