我正在使用套接字编程。我只是想清除与我从-mobileorchard.com-Chatty下载的代码相关的疑问。在研发期间,我在ChatRoomViewController.m文件中看到了一个函数调用
[chatRoom broadcastChatMessage:input.text fromUser:[AppConfig getInstance].name];
当我在Room.m 文件中看到,用于执行上述调用;它是
- (void)broadcastChatMessage:(NSString*)message fromUser:(NSString*)name
{
// Crude way to emulate an "abstract" class
[self doesNotRecognizeSelector:_cmd];
}
我在谷歌上搜索了“doesNotRecognizeSelector:”,根据Apple的错误处理说明,“只要对象收到无法响应或转发的 aSelector 消息,运行时系统就会调用此方法。” 我的问题是为什么开发人员调用broadcastChatMessage:fromUser:函数,如果它在那里没有使用并处理哪个方法的“未找到选择器”异常?
根据Stackovrflow,它用于创建抽象类,根据这个Question,它是为了避免“不完整的实现”警告。
我仍然不明白为什么在Chatty Code中使用该方法,请帮助我了解使用该方法的原因。