Проблема с alertView clickedButtonAtIndex: сбой при упоминании переменных. Альтернатива? - PullRequest
1 голос
/ 04 февраля 2011

У меня есть NSString с именем locationForURL1.Я проследил его через мой код, ведущий в UITextView, и он ни разу не изменился.Я поместил NSLog прямо перед строкой «show» в UIAlertView, и даже там locationForURL1 было равно тому, что он должен быть равен - URL.

Затем пользователь нажимает кнопку в окне просмотра предупреждений, и он идет прямов clickedButtonAtIndex: part.

Вот код оттуда:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSLog(@"location for url1b %@", locationForURL1);
    if ((alertView.tag <= 3) && (alertView.tag >= 1)) {
        if (buttonIndex == 1) {
            NSLog(@"location for url1 %@", locationForURL1);

Он даже не доходит до 2-го NSLog, он вылетает при первом.Я заменил эти NSLogs на те, которые просто говорят «test», так что я знаю, что это происходит только из-за этого.

Хотя я не уверен, как решить эту проблему?Просто упоминание locationForURL1 внезапно приводит к сбою.

Есть ли альтернативы UIAlertView, может быть проект с открытым исходным кодом, чтобы сделать что-то похожее, но лучше?Кажется, это очень трогательно и уходит из прошлого опыта.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2011

Я думаю, вы должны сделать self.locationForURL1=aURL вместо locationForURL1=aURL в другом месте. UIAlertView не имеет никакого отношения к сбою.

0 голосов
/ 04 февраля 2011

Похоже, что NSString является иваром ... ваш аксессор установлен на неатомный? Вы звоните сеттеру? (Вы должны ... для обоих)

...