uialertview называют несколько раз

Это раздражающее...!!!

Я googled об этой проблеме, найденной немного Вопросы о Родственнике , но не Удовлетворительные Ответы .

Таким образом, у меня есть Один - (IBAction) метод, который добавляет немного UITextField Ценности, чтобы NSMutableArray , когда "Добавляют" , Кнопка Нажата. Я просто пытаюсь показать UIAlertView , если UITextField <силен> пустой .

My Code :

- (IBAction)addButtonPressed:(id)sender
{
       if ([textField1.text length]==0 || [textField2.text length]==0 || !someFlag)
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp" message:@"Please Enter Valid Data..." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert show];
            [alert release];
        }
        else
        {
            //Code to add textField's value to Array.
        }
}

Моя проблема:

Каждый раз, когда я нажимаю , "Добавляют" Кнопку с пустым textField , , UIAlertView кажется трижды .

1) For the First Time It appears with "Close" Button. (I have never added...) It disappears within some time.

2) Second Time It appears with "OK" Button. (That's what I added...) It disappears when I press "OK" Button.

3) Third Time It appears with "Close" Button again. It disappears when I press "Close" Button.

ОТРЕДАКТИРУЙТЕ:

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

2
Просто Клетчатое ОБНОВЛЕНИЕ в моем Вопросе...
добавлено автор Bhavin, источник
@rptwsthi: That' s, что я хочу знать. Когда я управляю кодом с если ([textField1.text isEqualToString: ""]), это работает отлично...
добавлено автор Bhavin, источник
@BaZinga: Я попробовал это, но никакую Удачу Вообще.
добавлено автор Bhavin, источник
@who9vy: только с IB.
добавлено автор Bhavin, источник
Проверьте, что мои новые РЕДАКТИРУЮТ..
добавлено автор Bhavin, источник
сделайте, чтобы вы попробовали его условием [textField.text isEqualToString: ""]
добавлено автор KDeogharkar, источник
Вы не должны быть по сравнению с ПУСТЫМ УКАЗАТЕЛЕМ. Можно ли подтвердить, что метод называют три раза?
добавлено автор Rowan Freeman, источник
Проблема - с некоторым другим кодом не этот код. Проверьте другой код.
добавлено автор Rajan Balana, источник
скажите мне, когда u получат это..:)
добавлено автор rptwsthi, источник
@Vin можно опубликовать ответ как ответ, который будет более выполнимым для искателей.
добавлено автор rptwsthi, источник
Тогда что относительно этого "близкий" наполняют ваш код don' t имеют "близко" где угодно.
добавлено автор rptwsthi, источник
Как вы добавляете действие к своему интерфейсу? Только с Интерфейсным Строителем? Вы добавляете действие с addTarget метод UIButton ?
добавлено автор who9vy, источник
Проблема могла бы быть с методом делегата.
добавлено автор Vinayak Kini, источник
Можно ли показать alertView, который появляется с кнопкой "Close"
добавлено автор Satish Azad, источник

7 ответы

Странный....!!!

Иногда это происходит, что вы Полностью Пренебрежение определенные линии вашего кода, Когда вы <сильны> Сверхраздраженный . Это произошло со мной также. Я пренебрег одним методом, который называют из -addButtonPressed Методом, у Которого есть Один AlertView "Близко" Кнопка, конечно) в нем.

Это - само Решение!!!

1
добавлено

Ваш код не содержит проблем. Нет 3, это - только 2 тревоги. вот поток аварийного представления:

  1. , Как только вы нажимаете , добавляют , кнопка там звонила, 2 отборщика (может быть одна внутренняя часть другой ИЛИ два IBAction одной кнопкой), который содержит аварийный код представления в них
  2. Теперь, когда alert2 (с кнопкой отмены) называют прежде alert1 (с кнопкой ОК)
  3. Тогда alert1 называют, и скройте alert2
  4. Теперь, когда вы решаете alert1 (нажимая на кнопку ОК) alert2, разоблачает снова

Теперь то, что необходимо сделать, должно проверить, "если кнопка не связана с 2 IBActions", которыми это должно быть, поскольку у вас нет такого кода, чтобы назвать другую тревогу в этом методе. И проверьте, помогает ли это.

1
добавлено
Нет, мой "Добавлять" Кнопку только связан с addButtonPressed...
добавлено автор Bhavin, источник
Просто Клетчатое ОБНОВЛЕНИЕ в моем Вопросе...
добавлено автор Bhavin, источник
+1 для показа Направления и вашего Усилия. Спасибо...
добавлено автор Bhavin, источник
Может u загружать это на мерзавце и обеспечивать связь. таким образом, я могу проверить на Проблему
добавлено автор rptwsthi, источник

Сверьтесь ниже кода:

if ([textField.text length]==0)
{
UIAlertView *objAlertMsg = [[UIAlertView alloc] initWithTitle:@"MyApp"
                                                       message:@"Please Enter Valid Data..."
                                                      delegate:nil
                                             cancelButtonTitle:@"OK"
                                             otherButtonTitles:nil];
[objAlertMsg show];
[objAlertMsg release];
}

Проверьте, что, я установил делегата в "ноле" вместо "сам". И удостоверьтесь, что у вас нет делегата орудия в поле зрения диспетчер, если это не требуется.

Надежда это будет полезно вам.

Аплодисменты.

1
добавлено
да я попробовал это, но не работу...
добавлено автор Bhavin, источник
Я попробовал это, но никакую Удачу...!!
добавлено автор Bhavin, источник
пожалуйста, проверьте обновленный код и сообщите мне если it' s успех.
добавлено автор Nishant B, источник

да я имею, стоят перед той же самой проблемой, но мой случай отличается, чем вы.

  1. Вы должен попробовать [textfield.text isEqualToString: ""]; , потому что это - стандартный способ сравнить пустое текстовое поле в Цели-C.

  2. Проверка, что вы отклоняете свое аварийное мнение правильно иногда, которое мы не высказываем вниманию на отклонение аварийного представления так из-за той вашей аварийной точки зрения, остается активным и когда вы вновь открылись, вы - приложение, которое это показывает 2 - 3 раза в зависимости от вашего условия. Таким образом, можно использовать делегата, действительно отклонял аварийное представление с индексом кнопки для отклонения аварийного представления в <сильном> представлении, действительно исчезал . Я не уверен, но это должно работать на вас чувак Удачи.

  3. И я не уверен, но я думаю, что ваша Кнопка IBAction, переписывают в течение каждого раза, когда вы щелкнули в любой кнопке, таким образом, необходимо проверить его также.

1
добавлено
Просто Клетчатое ОБНОВЛЕНИЕ в моем Вопросе...
добавлено автор Bhavin, источник
+1 для вашего Первого Пункта.
добавлено автор Bhavin, источник

Попытка выдерживает сравнение как это.

if([testBox.text isEqualToString:@""]
{

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                    message:errorDesc
                                                   delegate:self
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];

    [alert show];
}
0
добавлено
Проверьте Комментарии в мой Вопрос, я уже попробовал этот путь...
добавлено автор Bhavin, источник
- (IBAction)addButtonPressed:(id)sender
{
   if ([textField.text length]==0)
    {
           UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Information",@"") message:NSLocalizedString(@"Txt is  Empty!",@"") delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitles:nil];
        [alert show]; alert = nil;
    }
    else
    {
        //Code to add textField's value to Array.
    }
}

Сначала проверьте, что, сколько раз вы называете IBAction метод, когда Кнопка выявила???

Другой мудрый помещенный случай UIAlertView является <сильной> общественностью .. Я имею в виду вставленный .h файл и получают доступ к нему как <к коду> self.yourAlertViewName в .m файл .

Спасибо:)

0
добавлено

Попробуйте ниже кода...... сообщает мне, что он работает или нет!!!!

то, что вы сделали, является вами, дали другой ноль кнопки 2 раза.. так может быть, это - проблема...

Счастливое кодирование!!!!

 if ([textField.text length]==0)
    {

      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp" message:@"Please Enter Valid Data..." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
    }
0
добавлено
да я попробовал это, но не работу...
добавлено автор Bhavin, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.