objective-c - 将 Swift 函数转换为 Objective-C SubstringToIndex

标签 objective-c swift bluetooth substring character

下面的 swift 函数隐藏了在蓝牙设备显示器上按下的键,我试图在 Objective-C 中编写这个函数,但是我正在努力编写 characters.count & substringToIndex 如下所示在 Objective-C 中,谁能帮我把它转换成 Objective-C?

var msg = ""

func captin(leader: CaptinShip!, keyPressed keyCode: UInt) {
    print(String(format: "keyPressed: %d (0x%02X)", keyCode, keyCode))

    if keyCode == 0 {
        msg += "*"
    }
    if keyCode == 13 && msg.characters.count > 0 {
        msg = msg.substringToIndex(msg.endIndex.advancedBy(-1))
    }
}

最佳答案

我假设您的 msg 将是一个 NSString 对象。如果是这样,应该这样做:

if (keyCode == 0) {
    msg = [msg stringByAppendingString:@"*"];
}

if (keyCode == 13 && [msg length] > 0) {
    msg = [msg substringToIndex:[msg length] - 2];
}

但是您可能会考虑对 msg 的长度创建另一个检查,因为如果 [msg length] - 2 超出 的范围,它将崩溃>msg 长度。

关于objective-c - 将 Swift 函数转换为 Objective-C SubstringToIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38119406/

相关文章:

ios - 无法转换类型的值 - Swift

iOS:是否可以调整 Twitter 和/或 Facebook 登录按钮的大小?

iphone - 如何正确地使 NSTimer 失效

arrays - 从另一个数组中过滤一个数组

android - 如何使用 adb shell 控制蓝牙操作?

ios - 我还需要什么才能将变量保存到光盘中?

swift - 如何在 Swift 2 的 while 循环中创建延迟?

Swift 2 CLLocationManager 错误

ios - 如何在 iOS 中获取 HM-10 Bluetooth LE 的特性

android - 打开和关闭蓝牙