2016-06-30 7 views
1

以下のswift関数は、Bluetoothデバイスのディスプレイで押されたキーを隠していますが、Objective-Cでこの関数を記述しようとしていますが、 characters.count & substringToIndex Objective-Cの下に示すように、誰でもObjective-Cに変換するのを手伝ってもらえますか?Swift関数をObjective-Cに変換するSubstringToIndex

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)) 
    } 
} 

答えて

2

私はあなたのmsgNSString対象となることを想定しています。

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

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

をしかし、あなたは[msg length] - 2msg長さの範囲外にある場合、それはクラッシュしますから、msgの長さに別のチェックを作成することを検討かもしれません。もしそうなら、これはそれを行う必要があります。

+0

これは、トリック、おかげでやったようです。 Objective-Cでどうやって*を繰り返すことができるか知っていますか? msg + = "*"の上のスウィフトコードのように。 – Jonas

+1

問題ありません!私は答えを編集し、 '*'の追加を追加しました。 –

+0

ありがとう、大きな助けになりました – Jonas

関連する問題