如何解决iOS:通过蓝牙将NSString转换为选择器FAILS
|| 好的,我正在使用iOS GameKit做一个简单的实验。步骤如下: -1。我在iPad1上有一个NSString \'myFunction \'。 -2。我通过GameKit与iPad2的蓝牙连接进行拍摄。编码为NSASCIIStringEncoding。 -3。 iPad2收到该消息。 -4。 iPad2从接收到的数据中获取字符串'myFunction \',并将其记录到调试器中,这样我就可以知道它是否通过了。使用NSASCIIStringEncoding对其进行解码。目前很好。 -5。我使用NSSelectorFromString()将\'myFunction \'转换为选择器。 -6。我在实现-(void)myFunction {}的对象上执行选择器 -7。 iPad2崩溃,抱怨无法在对象上找到函数myFunction。 现在,如果在步骤5中将字符串\'myFunction \'硬编码到NSSelectorFromString()中,它将可以正常工作。我知道这是一些编码问题。我尝试使用NSUTF8StringEncoding对字符串进行编码,但不仅程序仍然崩溃,而且在步骤4中将字符串记录为null。 我仔细研究了NSString类参考中所有各种编码字符串的方法, http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html# 但是在我依次尝试每个人之前,先看看是什么粘在墙上了,我想知道是否还有其他人试图做类似我正在尝试的事情?通过蓝牙发送字符串以转换为另一端的选择器并执行。解决方法
您将不得不序列化并发送数据。
看看是否有帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。