OStack程序员社区-中国程序员成长平台

标题: ios - MasterDetail 模板中的属性和 ivars [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:33
标题: ios - MasterDetail 模板中的属性和 ivars

在阅读了关于 Objective C 中的属性和 ivars 之后,我仍然对 XCode 中 iOS 的 MasterDetail 模板感到困惑。

MasterViewController 为 DetailViewController 声明属性:

@class DetailViewController;

@interface MasterViewController : UITableViewController

@property (strong, nonatomic) DetailViewController *detailViewController;

@end

对象数组的 ivar:

@interface MasterViewController () {
    NSMutableArray *_objects;
}
@end

为什么会这样?我只是不明白为什么这两件事的声明方式不同。 谢谢。



Best Answer-推荐答案


将某物声明为“property”允许其他对象访问和使用它。在上述情况下,将“detailViewController”作为属性添加到 MasterViewController 意味着其他对象可以访问和使用 DetailViewController 公开的方法和属性。

虽然“_objects”变量是 MasterViewController 的内部(或私有(private))变量。

关于ios - MasterDetail 模板中的属性和 ivars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464500/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4