Я разрабатываю настройку для iOS, используя Logos/Theos.Переменная освобождается между вызовами
Мне нужно сохранить последние два символа, которые пользователь набрал во все времена.
Мой код для этого:
static NSString *lastTwoChars = [[NSString alloc] init];
...
if (lastTwoChars.length < 2) {
lastTwoChars = [lastTwoChars stringByAppendingString:text];
} else {
lastTwoChars = [lastTwoChars stringByAppendingString:text];
lastTwoChars = [lastTwoChars substringFromIndex:1];
}
...
(В этой области, text
является последним символом они вошли в клавиатуре)
Этот код работает отлично, пока я не нажимать на третий символ. После очень долгого испытания и ошибок я обнаружил, что это происходит потому, что переменная lastTwoChars
освобождается и становится другим объектом.
Я не могу понять, как сохранить объект от освобождения и перейти на другой объект. Я пробовал переменную retain
, но либо я делаю это неправильно, либо это не сработает.
Любая помощь была бы принята с благодарностью.
методы вы используете сделать, действительно, возвращает новый объект 'NSString'. Вы используете ARC или MRC? – Droppy
@ Droppy Независимо от значения по умолчанию. Я никогда не настраивал его на разные. –