【问题标题】:Convert Swift Function to Objective-C SubstringToIndex将 Swift 函数转换为 Objective-C SubstringToIndex
【发布时间】:2016-06-30 09:42:53
【问题描述】:

下面的 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))
    }
}

【问题讨论】:

    标签: objective-c swift bluetooth substring character


    【解决方案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 代码 msg += "*".
    • 没问题!我已经编辑了答案并添加了* 的附加内容。
    • 谢谢,帮了大忙
    猜你喜欢
    • 2015-05-07
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多