gpt4 book ai didi

ios - 我的 iOS 应用程序中有变量吗?

转载 作者:行者123 更新时间:2023-11-29 04:42:49 24 4
gpt4 key购买 nike

我不敢相信我会问这个,但我对这种可变的东西非常着迷。

我想保存用户名信息。我按照我的 View 加载它们。此后,当我单击按钮时,我将获取信息。

这是我的代码:

@interface SelfViewController : UIViewController
{
NSString *usernameString;
}



- (void)viewDidLoad
{
usernameString = @"test";
}



- (IBAction)goToProfileButtonPressed:(id)sender
{
NSLog(@"%@", usernameString); //CRASH BAD EXEC

}

我做错了什么???

最佳答案

将 .h 文件更改为:

@interface SelfViewController : UIViewController {
    NSString *usernameString;
}

@property (retain, nonatomic) NSString *usernameString;

然后在你的 .m 文件中:

@synthesize usernameString;

- (void)viewDidLoad {
     self.usernameString = @"test";
}

- (IBAction)goToProfileButtonPressed:(id)sender {
    NSLog(@"%@", self.usernameString); // "self." can be omitted, but it is best practice not to
}

- (void)dealloc {
[usernameString release];

[super dealloc];
}

问题是您将 usernameString 分配给自动释放的字符串对象。当按下按钮时,usernameString 已被释放并成为垃圾内存。通过保留它(并随后在 -dealloc 中释放它以避免泄漏),您知道它不会被过早释放。

关于ios - 我的 iOS 应用程序中有变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107832/

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