2
我已经经历了许多问题,在这里和其他论坛上询问有关@property in Objective-C。但一个问题随时都会弹出...目标C性质的歧义
我们是否需要i-vars来支持属性?
请通过下面的代码 -
的RootViewController.h文件: -
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController {
}
@property (nonatomic, retain) NSMutableArray *arrTest;
@end
的RootViewController.m如下 -
#import "RootViewController.h"
@implementation RootViewController
@synthesize arrTest;
#pragma mark -
#pragma mark View lifecycle
- (void)viewDidLoad {
[super viewDidLoad];
self.arrTest = [[[NSMutableArray alloc] init] autorelease];
[arrTest addObject:@"Object1"];
[arrTest addObject:@"Object2"];
[arrTest addObject:@"Object3"];
[arrTest addObject:@"Object4"];
[arrTest addObject:@"Object5"];
NSLog(@"arrTest :- \n%@",arrTest);
NSLog(@"self.arrTest :- \n%@",self.arrTest);
[self.arrTest addObject:@"Object6"];
[self.arrTest addObject:@"Object7"];
[self.arrTest addObject:@"Object8"];
[self.arrTest addObject:@"Object9"];
[self.arrTest addObject:@"Object10"];
NSLog(@"arrTest :- \n%@",arrTest);
NSLog(@"self.arrTest :- \n%@",self.arrTest);
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
正如你所看到的,我还没有创建一个实例变量来支持该属性。
从这我假设变量在内部创建,因为我可以随便说
[arrTest addObject:@"Blah Blah"];
如果是这样的情况下访问它,那么为什么我们需要创建实例变量,如果我们要声明属性?
谢谢不变。 :-) – Sreejit 2010-11-08 11:38:57
马特的文章也提供了很好的见解。谢谢。 – Sreejit 2010-11-08 11:40:54