テーブルビューと構造について質問したいのですが@synchronized
。didSelectRowAtIndexPath
ユーザーがテーブルセルをタップし続けても、内部のコードを一度実行する必要があります...
ゲームのメニューとして使用するテーブルがあります。で実装されているロジックへの同期アクセスを提供したいと思いますdidSelectRowAtIndexPath
。
私は次のコードを書きました:
//condition = YES in init code
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
@synchronized( self)
{
if( !condition)
{
NSLog(@"multiple execution is not allowed...");
return;
}
condition = NO;
...
//code
...
}
}
私はそれをios4.3.4を使用してipone3gsでテストし、動作しました(テストを行い、動作は期待どおりです)が、クライアントはios3.xをインストールした彼の3gでテストしました。動作しないようです。
(コードをで囲むことで)GCDを使用することを考えましたdispatch_once()
が、iOS4.x以降でサポートされています。
@synchronized
クライアントの電話で機能しない理由について何か洞察があります か?
ありがとう!