Я определил три свойства: тип UISearchBar, NSDicitonary и тип NSArray.Каков наилучший способ определения ivar?
В чем разница между ними? (самостоятельно) или (_)
И причина?
@property (nonatomic, strong, readwrite) UISearchBar *searchBar;
@property (nonatomic, strong) NSDictionary *citiesDataDic;
@property (nonatomic, strong) NSArray *initialOfCity;
Первый способ:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSString *key = [_initialOfCity objectAtIndex:section];
NSArray *citySection = [_citiesDataDic objectForKey:key];
return [citySection count];
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"citydict"
ofType:@"plist"];
_citiesDataDic = [[NSDictionary alloc] initWithContentsOfFile:path];
_initialOfCity = [[_citiesDataDic allKeys] sortedArrayUsingSelector:@selector(compare:)];
_searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
_searchBar.placeholder = @"enter words";
_searchBar.delegate = self;
[_searchBar sizeToFit];
}
Второй способ:
NSString *key = [self.initialOfCity objectAtIndex:section];
NSArray *citySection = [self.citiesDataDic objectForKey:key];
return [citySection count];
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"citydict"
ofType:@"plist"];
self.citiesDataDic = [[NSDictionary alloc] initWithContentsOfFile:path];
self.initialOfCity = [[self.citiesDataDic allKeys] sortedArrayUsingSelector:@selector(compare:)];
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
self.searchBar.placeholder = @"enter words";
self.searchBar.delegate = self;
[self.searchBar sizeToFit];
'self.name' не ссылается на ivar, а ссылается на свойство. –
@HotLicks благодарит ваш комментарий. Понял. –