gpt4 book ai didi

ios - 代码在模拟器上运行良好,但在真实设备上却为零

转载 作者:行者123 更新时间:2023-11-28 19:36:57 25 4
gpt4 key购买 nike

这段代码工作正常,当我在模拟器上测试这段代码时我得到了按钮,但是当我在真实设备上测试时我得到了 nil。
按钮在头文件接口(interface)中声明

@property (weak, nonatomic)    UIButton *button;

然后在实现文件中合成

@synthesize button;

然后在函数调用中我这样做

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;

screenHeight = screenHeight - 135;

//Call
button = [UIButton buttonWithType:UIButtonTypeCustom];

当我在真实设备 (iphone 5) 上运行此代码时,按钮始终为零。我在调试时注意到在运行最后一行之后执行回到

CGFloat screenHeight = screenRect.size.height;

然后重新开始,顺便说一句,这里没有循环代码。我无法理解这种现象。我在这里错过了什么。

最佳答案

你对你的按钮有一个弱引用,所以在你将它添加为 subview 之前它会被释放。您可以将其更改为具有强引用:

@property (nonatomic, strong) UIButton *button;

或者在将按钮添加到 View 时保留对该按钮的引用:

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.view addSubview:myButton];
_button = myButton;

它现在由 View 保留,因此不会被释放。

关于ios - 代码在模拟器上运行良好,但在真实设备上却为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855209/

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