アプリケーションに を実装しようとしUIRefreshControl
ています。xib ファイルがありUITableViewController
、空の nib ファイルに を追加し、refresh プロパティを「有効」に設定しました。viewDidLoad
また、カスタム更新メソッドにコードを追加しました。問題は、エラーが発生して情報が見つからないことです.... 「タイプのオブジェクトにviewDidLoad
プロパティ ' ' が見つかりません」というメッセージが表示されますrefreshControl
ViewController
- (void)viewDidLoad{
[super viewDidLoad];
self.myTableView =
[[UITableView alloc] initWithFrame:self.view.bounds
style:UITableViewStyleGrouped];
self.myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
self.myTableView.delegate = self;
self.myTableView.dataSource = self;
[self.view addSubview:self.myTableView];
UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
[refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refresh;
}
-(void)refreshView:(UIRefreshControl *)refresh {
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Refreshing data..."];
// custom refresh logic would be placed here...
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM d, h:mm a"];
NSString *lastUpdated = [NSString stringWithFormat:@"Last updated on %@",
[formatter stringFromDate:[NSDate date]]];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:lastUpdated];
[refresh endRefreshing];
}
そのプロパティが利用できない理由がわかりません....何が欠けていますか?
ファイルから継承する必要があるようUITableViewController
です。ViewController.h
すでにUITableView
そこにある場合、両方から継承するにはどうすればよいですか? コードを から に変更するViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
と ViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
、エラーが発生します。
error: NSInternalInconsistencyException',
reason: '-[UITableViewController loadView] loaded the "ViewController_iPhone" nib but didn't get a UITableView.'