相关疑难解决方法(0)

如何使用可选方法创建协议?

我注意到在iPhone SDK中定义的几个协议中标记为可选的方法,例如UIActionSheetDelegate协议.

如何定义自己的协议,并将一些方法设置为可选?

iphone objective-c

132
推荐指数
5
解决办法
8万
查看次数

为什么我们调用doesNotRecognizeSelector:方法?

我正在使用套接字编程.我只是想清除与我从 - mobileorchard.com - Chatty下载的代码相关的疑问.在研发时,我在ChatRoomViewController.m文件中看到了一个函数调用

 [chatRoom broadcastChatMessage:input.text fromUser:[AppConfig getInstance].name];
Run Code Online (Sandbox Code Playgroud)

当我在Room.m 文件中看到,用于执行上面的调用; 它是

- (void)broadcastChatMessage:(NSString*)message fromUser:(NSString*)name
{
    // Crude way to emulate an "abstract" class
    [self doesNotRecognizeSelector:_cmd];
}
Run Code Online (Sandbox Code Playgroud)

我用google搜索"doesNotRecognizeSelector:",根据Apple的错误处理,声明"只要对象收到一个无法响应或转发的aSelector消息,运行时系统就会调用此方法." 我的问题是为什么开发人员调用broadcastChatMessage:fromUser: function如果它没有在那里使用并处理哪个方法的"未找到选择器"异常?

根据Stackovrflow,它用于创建抽象类,根据这个问题,它避免了"不完整实现"的警告.

我仍然没有理解为什么在Chatty Code中使用该方法,请帮助我理解使用该方法的原因.

iphone objective-c nsobject ios

13
推荐指数
1
解决办法
6221
查看次数

标签 统计

iphone ×2

objective-c ×2

ios ×1

nsobject ×1