gpt4 book ai didi

ios - IBOutlet申报处

转载 作者:行者123 更新时间:2023-11-28 18:58:39 25 4
gpt4 key购买 nike

在 Google 上搜索了这个困惑之后,我 found out放置 IBOutlet 的最佳位置是:

@interface GallantViewController : UIViewController

@property (nonatomic, weak) IBOutlet UISwitch *switch;

@end

但据我所说,现在 switch 变量在 GallantViewController 之外可见。这不奇怪吗?我认为这个错误的方法:

@interface GoofusViewController : UIViewController {
IBOutlet UISwitch *_switch
}

@end

表现得像这样,移动它会修复它。例如,为什么要从另一个类操作按钮,而不是仅在 GallantViewController 中实现它的逻辑?

最佳答案

@interface 可以出现在.h 文件(公共(public)属性)和.m 文件(私有(private)属性)中。 IBOutlets 应该在 .m 文件中声明。

例如,这是一个 View Controller 的示例 .m 文件

#import "MainViewController.h"

@interface MainViewController ()
// the following property is not visible outside this file
@property (weak, nonatomic) IBOutlet UIView *someView;
@end

@implementation MainViewController

- (void)viewDidLoad
{
[super viewDidLoad];
}

@end

从技术上讲,.m 文件中的@interface 是类扩展(也称为类上的匿名类别),但这没有实际意义。这只是向类添加私有(private)属性的一种方式。

关于ios - IBOutlet申报处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806489/

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