-1

ここに私の問題があります私はそれをさまざまなクラスから呼び出すシングルトンクラスを持っており、そのシングルトンクラスに現在のクラスから自己を渡すプロパティがあります(どの開始シングルトンを行います)、自己オブジェクトを使用して現在のクラスのメソッドを呼び出しますシングルトンから。ここでは、singleton クラスを呼び出すたびに、singleton でこのプロキシ オブジェクト (singleton プロパティ) を nil にしています。

したがって、アプリケーションを高速で繰り返し実行すると(つまり、そのシングルトンを非常に高速に呼び出すと)、Web ビューでアプリケーションがクラッシュし、メソッドのロードが完了しました。

これに関する提案やアイデア。

ここで参照用のコード。

    +(Signout *)sharedInstance{
        @synchronized(self) {
            if (signOutInstance == nil) 
            {
                signOutInstance= [[self alloc] init]; 
            }
        }
        return signOutInstance;
    }

    -(void)signOut {

        [self signOutWebView];

    }

- (void)webViewDidFinishLoad:(UIWebView *)twebView {

    if (nil != self.instance) {
        if ([self.instance respondsToSelector:@selector(removeIndicator)]) {
            [self.instance removeLoadingIndicator];
        }
    }

}

前もって感謝します。

4

1 に答える 1

1

これを試してみてください。

if (nil != self.instance) {
        if ([self.instance respondsToSelector:@selector(removeIndicator)]) {
            [self.instance removeLoadingIndicator];
            self.instance = nil;
        }
    }

print ステートメントを使用してコードをデバッグし、クラッシュの理由を見つけてください。クラッシュの理由を見つけるためにゾンビを使用しようとしたこともあります。

于 2012-04-28T11:06:55.487 に答える