gpt4 book ai didi

iphone - 我们可以定义一个私有(private)的 IBOutlet 吗?

转载 作者:技术小花猫 更新时间:2023-10-29 10:16:24 24 4
gpt4 key购买 nike

iOS 是否允许开发者定义一个私有(private)的 IBOutlet。例如,viewController 中有几个按钮,我想在 Interface builder 和代码中对这些按钮做一些事情。但是我不希望其他类访问这些按钮。我可以为这个按钮定义一些“私有(private)”IBOutlets吗

示例代码:

@interface myViewController : UIViewController<
{
@private:
UIButton *o_Button1;
UIButton *o_Button2;
}

//Can I have these outlets as private???
@property (nonatomic, retain) IBOutlet UIButton *Button1;
@property (nonatomic, retain) IBOutlet UIButton *Button2;

@end

============================================= ================

只需获得一个解决方案。希望对您有所帮助。

结合Abizern和JustSid的思路,我有这样的解决方案。

在.h文件中

    @interface myViewController : UIViewController
{
@private
IBOutlet UIButton *Button1;
IBOutlet UIButton *Button2;
}

@end

在 .m 文件中

    @interface MyViewController ()

@property (nonatomic, retain) UIButton *Button1;
@property (nonatomic, retain) UIButton *Button2;

@end
...
@synthesize Button1, Button2;

感谢 Abizern 和 JustSid 的帮助

最佳答案

在 .m 文件的顶部添加类别中的属性:

@interface MyViewController ()

@property (nonatomic, retain) IBOutlet UIButton *Button1;
@property (nonatomic, retain) IBOutlet UIButton *Button2;

@end

事实上,这就是您可以在 .h 文件中将属性设置为只读并在 .m 文件中将其重新声明为可读写属性的方法 - 这样您就可以拥有私有(private) setter。

关于iphone - 我们可以定义一个私有(private)的 IBOutlet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6111619/

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