gpt4 book ai didi

Objective-C:指向 UITextField 的弱指针-> UITextField 不出现

转载 作者:行者123 更新时间:2023-12-01 17:33:05 24 4
gpt4 key购买 nike

正如标题中所写,我拥有 UITextField 的属性(property)。 .我添加了 UITextFieldUIView .

如果我有一个强指针,UITextField出现,

如果我有一个弱指针,UITextField没有出现。

当我有一个弱指针时出了什么问题?我对 UIButton 做了同样的事情然后它实际上出现了(带有强指针和弱指针)。

这是一些代码:

创建类别 View .h

@interface CreateCategoryView : UIView 

@property (weak, nonatomic) UITextField *nameTextField;

@end

创建类别 View .m
@implementation CreateCategoryView

- (id)initWithFrame:(CGRect)frame andParent {
self = [super initWithFrame:frame];
if (self) {
self.nameTextField = [[UITextField alloc] initWithFrame:CGRectMake(5, 30, 310, 25)];
self.nameTextField.borderStyle = UITextBorderStyleRoundedRect;
self.nameTextField.textColor = [UIColor blackColor];
self.nameTextField.backgroundColor = [UIColor whiteColor];
[self addSubview:self.nameTextField];
}
return self;
}

@end

最佳答案

您应该使用局部变量(默认为强变量)创建文本字段,然后将其分配给您的属性。没有必要使用对文本字段的强引用,因为您添加它以保持强引用的 View 。

- (id)initWithFrame:(CGRect)frame  {
self = [super initWithFrame:frame];
if (self) {
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(5, 30, 310, 25)];
tf.borderStyle = UITextBorderStyleRoundedRect;
tf.textColor = [UIColor blackColor];
tf.backgroundColor = [UIColor whiteColor];
_nameTextField = tf;
[self addSubview:_nameTextField];
}
return self;
}

关于Objective-C:指向 UITextField 的弱指针-> UITextField 不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896393/

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