0

このエラーが発生しています

bool _WebTryThreadLock(bool), 0x1b53d0: メイン スレッドまたは Web スレッド以外のスレッドから Web ロックを取得しようとしました。これは、セカンダリ スレッドから UIKit を呼び出した結果である可能性があります。現在クラッシュ中...

これは何によるものですか?

ありがとう

4

1 に答える 1

2

あなたが提供した限られた情報から、スレッドから UIView (またはそのサブクラスのいずれか) を作成すると仮定します。

代わりに以下を使用してみてください。

[self performSelectorOnMainThread:<#(SEL)aSelector#>
                       withObject:<#(id)arg#> 
                    waitUntilDone:<#(BOOL)wait#>];

== 編集 ==

それがスレッドからコールバックを取得する appDelegate である場合は、コールバック以外に新しいメソッドを追加してみてください。

- (void) setMyImage:(UIImage*)theImage { 
   ... 
   myUIImageView.image = theImage; 
   ...
} 

上記のように、スレッドからこれを呼び出します。

- (void) callBackWithImage:(UIImage*)imageFromUrl { 
    [self performSelectorOnMainThread:@selector(setMyImage:) 
                           withObject:imageFromUrl 
                        waitUntilDone:NO]; 
} 
于 2009-11-18T20:46:43.583 に答える