Как получить URL из текстового поля и использовать его в приложении? - PullRequest
0 голосов
/ 28 марта 2011

Я работаю над простой программой для чтения RSS для себя.Я новичок в Objective-C, поэтому я застрял в одной точке.На панели навигации приложения есть кнопка добавления, которая открывает uialertview с текстовым полем, в которое пользователь вводит URL канала RSS.Приложение имеет предопределенный адрес RSS-канала в своем исходном коде.Я пишу свои примеры кода ниже:

- (void)viewDidLoad {
    [super viewDidLoad];    
    self.feeds = [NSArray arrayWithObjects:@"http://www.formula1.com/rss/news/latest.rss",
                  nil];

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

- (void) myAlertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex

{

    if (buttonIndex == 1)

    { // Ok pushed
        //[data addObject:myTextField.text];

    }

1 Ответ

1 голос
/ 28 марта 2011

Кнопки в UIAlertView имеют нулевой индекс.Если OK - ваша единственная кнопка, она должна быть:

if (buttonIndex == 0)

Кроме того, если я вас правильно понимаю, вы хотите заменить текст свойством массива.Ответ будет зависеть от того, где находится текстовое поле, но я рекомендую вам присвоить тэгу текстовое поле следующим образом:

myTextField.tag = 10; //Any number should work

Теперь вы можете получить доступ к этому текстовому полю с помощью метода viewWithTag: в родительском представлении.

Если текстовое поле находится в главном представлении, вы должны получить следующее (в вашем ViewController):

UITextField *textfield = (UITextField *)[self.view viewWithTag:tagNumber]; //tagNumber being the tag you assigned to the field
textfield.text = [self.feeds objectAtIndex:0];

Было бы похоже, если бы поле было в адресной книге (в методе clickedButtonAtIndex): UITextField * textfield = (UITextField *) [alert viewWithTag: tagNumber];// tagNumber - это тег, который вы присвоили полю textfield.text = [self.feeds objectAtIndex: 0];

РЕДАКТИРОВАТЬ: я перечитал то, что вы написали, и понял вопрос лучше.Я не уверен, почему вы храните URL-адрес в массиве (если вы не планируете разрешить им вводить несколько массивов).

Если это так, вам действительно не нужен предопределенный файл, но для его удаления вамможет сделать следующее в методе clickedButtonAtIndex:

[self.feeds removeAllObjects];
[self.feeds addObject:textfield.text];

Это должно удалить предопределенную строку и добавить новую.введите код здесь

...