【发布时间】:2014-05-23 22:14:13
【问题描述】:
我有一个使用自动合成的财产支票簿。
如果在.h里面定义,在.m里面,我必须使用_checkbook;但是如果我在.m中定义,我必须使用支票簿,为什么?
【问题讨论】:
-
提问前请先搜索。之前已经介绍过好几次了。
我有一个使用自动合成的财产支票簿。
如果在.h里面定义,在.m里面,我必须使用_checkbook;但是如果我在.m中定义,我必须使用支票簿,为什么?
【问题讨论】:
.h 文件中定义的属性是公共的。 .m 文件中定义的属性是私有的。
您不需要在两个文件中声明该属性。你选。如果您只需要从 .m 文件中访问该属性,则将其放在那里,否则将其设为公共属性并在您的 .h 文件中定义它。唯一需要在打开的 @implementation YourViewController 块内写入 @synthesize checkbook = _checkbook; 的情况是,如果您同时为 _checkbook 定义了自定义 getter 和 setter 方法。
//
// YourViewController.m
// Company
//
// Created by First Last on 5/23/14.
// Copyright (c) 2014 Company. All rights reserved.
//
#import "YourViewController.h"
@interface YourViewController ()
@property (strong, nonatomic) UIView *checkbook; // Private
@end
@implementation YourViewController
/*
Your method defs...
*/
- (void)viewDidLoad
{
// Invoke super
[super viewDidLoad];
// Your code
self.checkbook.backgroundColor = [UIColor redColor];
}
@end
【讨论】: