我正在使用 Logos/Theos 为 iOS 开发一个调整。
我需要始终存储用户输入的最后两个字符。
我的代码是:
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
该变量,但要么我做错了,要么这不起作用。
任何帮助将不胜感激。