Еще один вопрос "wait_fences: не удалось получить ответ" (UIAlertView) - PullRequest
4 голосов
/ 08 июля 2010

На этом форуме уже есть несколько вопросов, касающихся "wait_fences: не удалось получить ответ", но ни одно из предложенных решений не помогло мне (хотя они помогли мне его смягчить).

Когда мое приложение запускается, я проверяю достижимость, и, если я не могу добраться до нужного хоста, я открываю UIAlertView.Первоначально я делал это еще до того, как настроил контроллер представления, но потом я узнал, что одна из причин проблемы «wait_fences» заключается в том, что цепочка респондента не настроена должным образом, если вы еще не отобразили представление - такЯ переместил все в -viewDidAppear.По сути, это то, что у меня есть:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    // Figure out what the reflections name is, then check to see if it can find it online;
    // If it can't, -informUserSiteIsNotReachable is called, below
    [self retrieveReflectionByName:self.todaysReflectionName];

    [self displayReflectionByName:self.todaysReflectionName];
}

- (void)informUserSiteIsNotReachable 
{
    SEL messageSelector;

    if (NO == [self internetIsReachable]) {
        messageSelector = @selector(internetNotAccessible);
    } else {
        messageSelector = @selector(reflectionsSiteNotAccessible);
    }
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[Strings alertViewTitleWhenSiteIsUnreachable] message:[Strings performSelector:messageSelector]  delegate:self cancelButtonTitle:@"OK" otherButtonTitles:NULL];
    [alert show];
    [alert release];
}

Кажется, я не могу избавиться от проблемы wait_fences: есть предложения?

1 Ответ

0 голосов
/ 02 июля 2011

Здесь я также столкнулся с той же проблемой в своих проектах, и я решил проблему "wait_fences".

Здесь вы можете сделать одно изменение в вашем коде следующим образом:

- (void)informUserSiteIsNotReachable 
{
    SEL messageSelector;

    if (NO == [self internetIsReachable]) {
        messageSelector = @selector(internetNotAccessible);
    } else {
        messageSelector = @selector(reflectionsSiteNotAccessible);
    }

    [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(Show_AlertMessage) userInfo:nil repeats:NO];
}

- (void) Show_AlertMessage
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[Strings alertViewTitleWhenSiteIsUnreachable] message:[Strings performSelector:messageSelector]  delegate:self cancelButtonTitle:@"OK" otherButtonTitles:NULL];
    [alert show];
    [alert release];
}

Это работает для меня. Надеюсь, вы скоро избавитесь от этой проблемы wait_fences. Дайте мне знать, если у вас все еще есть проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...