菜鸟教程小白 发表于 2022-12-13 01:33:58

ios - MasterDetail 模板中的属性和 ivars


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

<p>MasterViewController 为 DetailViewController 声明属性:</p>

<pre><code>@class DetailViewController;

@interface MasterViewController : UITableViewController

@property (strong, nonatomic) DetailViewController *detailViewController;

@end
</code></pre>

<p>对象数组的 ivar:</p>

<pre><code>@interface MasterViewController () {
    NSMutableArray *_objects;
}
@end
</code></pre>

<p>为什么会这样?我只是不明白为什么这两件事的声明方式不同。
谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>将某物声明为“<code>property</code>”允许其他对象访问和使用它。在上述情况下,将“<code>detailViewController</code>”作为属性添加到 MasterViewController 意味着其他对象可以访问和使用 DetailViewController 公开的方法和属性。</p>

<p>虽然“<code>_objects</code>”变量是 MasterViewController 的内部(或私有(private))变量。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - MasterDetail 模板中的属性和 ivars,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15464500/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15464500/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - MasterDetail 模板中的属性和 ivars