1

我不知道我做错了什么。didUpdateValueForCharacteristic没有按预期调用。我需要发送一个相当长的字符串,所以我将它分成 5 个字符的块并以 0.03 秒的间隔“更新”这些块。这是代码:

视图控制器代码。

它符合必要的协议,一切正常,除了didUpdateValueForCharacteristic列表名称只调用一次,“START”块调用一次。

我该如何解决?

4

1 回答 1

1

您将 NSTTimer 设置为不重复:

[NSTimer scheduledTimerWithTimeInterval:1 target:self
  selector:@selector(sendList) userInfo:nil repeats:NO];

这样它运行一次并停止。更改repeatsYES和发送实际上将开始发生。使用更多日志记录来解决此类问题。:)

请注意,您的代码也存在一些其他问题:

  1. 你不应该睡在主线程上。管理器当前已初始化为使用主队列。
  2. 只要外围设备已连接或正在连接,您就不应释放它(问题viewwillDisappear:
  3. 列表处理真的很“神秘”。Objective-C 是一门美丽的、真正富有表现力的语言,你可以利用它来发挥自己的优势。(我在 Java 中非常缺少命名参数)

如果您遇到更多问题,请继续并在单独的问题中提出。

于 2013-09-23T06:16:47.737 回答