gpt4 book ai didi

objective-c - 附加字符串时,iPhone模拟器应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 11:21:37 25 4
gpt4 key购买 nike

我是一个完整的新手,因此可能缺少一些非常简单的东西,但是我无法将字符串附加到工作上。我在typedDigit中添加了第3个字符,然后它崩溃了-该方法称为fine,并且typedDigit的长度为2个字符。我认为一切都在头文件中正确声明。代码是-

-(IBAction)digitPressed:(UIButton *)sender {

NSString *digit = [[sender titleLabel] text]; // in this case, "0" - "9"

if (userIsInMiddleOfTyping) { // typedDigit is already at least 1 character long
typedDigit = [typedDigit stringByAppendingString:digit];
} else { // first character of typedDigit
typedDigit = digit;
userIsInMiddleOfTyping = YES;
}

}

非常感谢您的帮助!

最佳答案

没有崩溃的堆栈痕迹,很难知道原因,但是我的猜测是,在下一次调用typedDigit函数之前,会自动释放digitPressedstringByAppendingString:返回一个自动释放的对象,因此,如果希望它传递下一次自动释放池刷新,则需要对其进行retain编码。若要直接修复,请尝试类似...

if (userIsInMiddleOfTyping) {
typedDigit = [[[typedDigit autorelease] stringByAppendingString:digit] retain];
} else {
typedDigit = [digit retain];
...

不仅如此,您还需要确保键入结束后的某个时间点 release typedDigit,并完成操作。

关于objective-c - 附加字符串时,iPhone模拟器应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2761612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com