【问题】
折腾Picker View的过程中,遇到变量使用出错:
【解决过程】
1.后来经过折腾,发现是 property和instance value之间的区别没有搞清楚,
解决办法是:
(1)要么去interface中定义实例变量:
//
// AddSightingViewController.h
// BirdWatching
//
@interface AddSightingViewController : UITableViewController <UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate>
{
//NSArray *birdNameList;
}
@property (strong, nonatomic) NSArray *birdNameList;
//
// AddSightingViewController.m
// BirdWatching
//
@implementation AddSightingViewController
//@synthesize birdNameList = _birdNameList;
- (void)viewDidLoad
{
[super viewDidLoad];
self.birdNameList = [[NSArray alloc] initWithObjects:@"Ostrich", @"Penguin", @"HummingBird", nil];
}
(2)要么去使用property属性变量:
//
// AddSightingViewController.h
// BirdWatching
//
@interface AddSightingViewController : UITableViewController <UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate>
{
NSArray *birdNameList;
}
//@property (strong, nonatomic) NSArray *birdNameList;
//
// AddSightingViewController.m
// BirdWatching
//
@implementation AddSightingViewController
//@synthesize birdNameList = _birdNameList;
- (void)viewDidLoad
{
[super viewDidLoad];
birdNameList = [[NSArray alloc] initWithObjects:@"Ostrich", @"Penguin", @"HummingBird", nil];
}这样,至少就解决了编译的错误问题了。
而关于两者之间的区别,详情参考:
【整理】Object-C中属性(property)与实例变量(instance variable)之间的区别
转载请注明:在路上 » 【已解决】iOS的Xcode中错误:Use of undeclared identifier xxx did you mean _xxx
