私は、Logos/Theosを使用してiOSの調整を行っています。コールの間に変数が公開される
私はユーザーがいつも入力した最後の2文字を保存する必要があります。
このための私のコードは次のとおりです。
static NSString *lastTwoChars = [[NSString alloc] init];
...
if (lastTwoChars.length < 2) {
lastTwoChars = [lastTwoChars stringByAppendingString:text];
} else {
lastTwoChars = [lastTwoChars stringByAppendingString:text];
lastTwoChars = [lastTwoChars substringFromIndex:1];
}
...
(この範囲では、text
は、彼らは、キーボードで入力した最後の文字である)
私は3番目の文字を押すまでこのコードは、正常に動作します。試行錯誤の非常に長い時間の後、変数lastTwoChars
がリリースされ、別のオブジェクトになっているためです。
オブジェクトの割り当てを解除して別のオブジェクトに変更しないようにする方法を理解できません。私はretain
変数にしようとしましたが、どちらかが間違っている、または動作しません。
ご協力いただければ幸いです。
あなたは確かに、やる使用している方法は、新しい 'NSString'オブジェクトを返します。 ARCまたはMRCを使用していますか? – Droppy
@Droppyデフォルトは何でも。私はそれを違うように設定したことはありません。 –