gpt4 book ai didi

ios - 公共(public) vs 私有(private) IBOutlets

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

我想知道当我需要从另一个读取UILabel/UITextField 的内容时,什么被认为是更好的做法> 在以下两种可能性之间查看 Controller :

1) 只需在.h 文件中为UITextField 创建一个IBOutlet 并将其公开给所有人
2)在.h文件中创建一个NSStringreadonly属性,在实现文件中设置为readwrite,每次privateUITextField 更改。

在我看来,第二个选项看起来是一个更好的方法,因为它保持了 OOP 封装,但是对于每个 View Controller 中的每个 UITextField/UILabel 似乎有很多工作要做。

想法?谢谢!

编辑:此外,如果我需要能够从外部设置 IBOutlets,但在 -(void)prepareForSegue 中:方法。所以我想第二个选项是唯一的选项?

最佳答案

只需在 View Controller 中创建 getter 方法来返回所需的数据。例如对于 UITextField :

- (NSString *)getTextFieldText {
return self.myTextField.text;
}

无需以这种方式添加冗余属性 (NSString *)。与封装一样,您隐藏了私有(private)数据(即您的 IBOutlets)并仅公开其他人需要的数据

关于ios - 公共(public) vs 私有(private) IBOutlets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23864132/

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