gpt4 book ai didi

iphone - NSMutable 字符串 "Out of scope"

转载 作者:行者123 更新时间:2023-12-03 20:26:49 24 4
gpt4 key购买 nike

我在 viewController(UITableViewController 的子类).h 文件中定义了两个 NSMutableString 对象:

NSMutableString *firstName;
NSMutableString *lastName;

它们是属性:

@property (nonatomic, retain) NSMutableString *firstName;
@property (nonatomic, retain) NSMutableString *lastName;

我将它们合成在 .m 文件中。

在我的 viewDidLoad 方法中 - 我将它们设置为空白字符串:

firstName = [NSMutableString stringWithString:@""];
lastName = [NSMutableString stringWithString:@""];

用户可以更改名字和姓氏。在我的 cellForRowAtIndexPath 方法中,我尝试显示这些字符串的内容:

cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ %@", firstName, lastName];

但这会导致应用程序在 View Controller 显示后崩溃。使用调试器,似乎firstName和lastName都“超出范围”或者它们不存在。我是 Xcode 新手,但调试器似乎在 objc_msgSend 处停止。

我做错了什么?

最佳答案

问题是你需要做:

self.firstName = ...
self.lastName = ...

这将调用自动生成的 setter 方法,该方法将保留值。通过直接分配,您将绕过 setter ,并且一旦当前自动释放池耗尽,这两个变量将具有悬空指针。

关于iphone - NSMutable 字符串 "Out of scope",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2529354/

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