gpt4 book ai didi

ios - UITextFieldDelegate 崩溃(exc_bad_access)

转载 作者:可可西里 更新时间:2023-11-01 05:54:18 25 4
gpt4 key购买 nike

看来我对 UITextFieldDelegate 有问题。

我刚刚创建了一个响应 UITextFieldDelegate 协议(protocol)的 View Controller ,并轻松地将字段添加到 xib,然后设置委托(delegate)字段......你知道的。

但是当我尝试按下字段(开始编辑)时,程序崩溃了。

当我尝试以编程方式创建字段时,同样的事情发生了。

这里是调用栈:

enter image description here

完整代码如下:

.h

#import <UIKit/UIKit.h>

@interface TopBar : UIViewController <UITextFieldDelegate>
{
IBOutlet UITextField * field_top;
}

.m

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
NSLog(@"textFieldShouldBeginEditing");
textField.backgroundColor = [UIColor colorWithRed:220.0f/255.0f green:220.0f/255.0f blue:220.0f/255.0f alpha:1.0f];
return YES;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"textFieldDidBeginEditing");
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
NSLog(@"textFieldShouldEndEditing");
textField.backgroundColor = [UIColor whiteColor];
return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"textFieldDidEndEditing");
}

代理由 IB 设置。

错误截图:

enter image description here

请帮忙。

最佳答案

确保你的 .h 中有这个

@interface TopBar : UIViewController <UITextFieldDelegate> {

}

@property (nonatomic, weak) IBOutlet UITextField *field_top;

并从 @interface 中移除

IBOutlet UITextField * field_top;

听起来您的 field_top 正在被释放,而您正试图稍后访问它,这就是它崩溃的原因。

关于ios - UITextFieldDelegate 崩溃(exc_bad_access),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22784900/

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