UITableviewの引数を使用して、iPhoneアプリでテーブルビューをリロードするRefresh関数を作成しました。私の質問は、この更新機能をどのように呼び出すか、または呼び出すことができるかです。
- (void)RefreshTableView:(UITableView *)tableView
{
if(tableView != nil){
[tableView reloadData];
}
}
UITableviewの引数を使用して、iPhoneアプリでテーブルビューをリロードするRefresh関数を作成しました。私の質問は、この更新機能をどのように呼び出すか、または呼び出すことができるかです。
- (void)RefreshTableView:(UITableView *)tableView
{
if(tableView != nil){
[tableView reloadData];
}
}
まず、メソッドの名前を次のように変更します。
- (void)refreshTableView:(UITableView *)tableView
次に、そのメソッドを呼び出すには、次の手順を実行する必要があります。
[self refreshTableView:yourTableview];
ここでself
、はメッセージを受信するオブジェクトを表します。この場合self
は、そのメソッドを含むオブジェクトのインスタンスです。
では、なぜテーブルビューのインスタンスも渡す必要があるのでしょうか。
そのテーブルビューのインスタンス変数があり、それを合成(@property/@synthesize
パターン)した場合は、次のように簡単に実行できます。
- (void)refreshTableView
{
[[self myTable] reloadData];
}
次に、次のようにそのメソッドを呼び出します。
[self refreshTableView];
編集
danhが示唆したように、プロパティ(またはインスタンス変数)がある場合は、直接呼び出すこともできます
[[self myTable] reloadData]; // or [self.myTable reloadData];
通過せずにrefreshTableView
。
- (void)RefreshTableView:(UITableView *)tableView
同じファイルにある場合は、それを呼び出すことができます
[self RefreshTableView:aTableView];
電話したいとき。
クラス自体から[self RefreshTableView:yourTableView];
クラス外のフォーム[yourClassInstance RefreshTableView:yourTableView];
PS: コードをリファクタリングして名前を変更する必要がありRefreshTableView:
ますrefreshTableView: