我有一个使用自动合成的属性支票簿。
如果在.h内部定义界面,在.m内,我必须使用_checkbook;但如果我在.m中定义,我必须使用支票簿,为什么?
答案 0 :(得分:0)
.h文件中定义的属性是公共的。 .m文件中定义的属性是私有的。
您无需在两个文件中声明属性。你选。如果您只需要从.m文件中访问该属性,则将其放在那里,否则将其设置为公共属性并在.h文件中定义它。如果您为@synthesize checkbook = _checkbook;
定义了一个自定义getter和setter方法,那么您只需要在开始@implementation YourViewController
块内编写_checkbook
的唯一时间。
//
// 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