アンダースコアを使用して、「ローカル宣言がインスタンス変数を非表示にする」というコンパイラの警告を修正することについて読んだことがありますが、修正を実装できていません。私が読んだ解決策は、.h ファイルでアンダースコアを使用し、.m ファイルで @synthesize 部分を使用することです。ただし、tableView を合成しません。以下のヘッダーファイルを参照してください。
.h ファイル
@interface ListViewController : GAITrackedViewController <UISearchDisplayDelegate,
UISearchBarDelegate, UITableViewDataSource, UITableViewDelegate> {
IBOutlet UITableView *tableView;
}
.m ファイル
//SYNTHESIZE
@synthesize listItems, filteredListItems, savedSearchTerm, savedScopeButtonIndex,
searchWasActive, mapView, loadingImageView, loadingActivity;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
//FIRST WARNING for tableView HERE
if (tableView == self.searchDisplayController.searchResultsTableView){
return [self.filteredListItems count];
}
else{
return [self.listItems count];
}
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
//SECOND WARNING for tableView HERE
[tableView setRowHeight: 60.00];
return 1;
}