如何从文本字段中获取URL并在应用程序中使用它?

时间:2011-03-28 09:11:38

标签: iphone rss uialertview feed

我一直在为自己开发一个简单的RSS阅读器。我是Objective-C的新手,所以我陷入了困境。应用程序的导航栏上有一个添加按钮,用于打开带有文本字段的uialertview,用户将在其中输入rss feed的url。该应用程序的源代码中包含预定义的RSS源地址。我正在编写下面的代码示例:

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

feeds是具有Feed地址的预定义数组。我尝试下面的代码来获取文本,但它没有用。此外,应用程序将如何从文本字段中取出该URL并替换为预定义的URL?

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

{

    if (buttonIndex == 1)

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

    }

1 个答案:

答案 0 :(得分:1)

UIAlertView中的按钮是零索引。如果确定是您唯一的按钮,则应为:

if (buttonIndex == 0)

另外,如果我理解正确,你想用array属性替换文本。答案取决于文本字段的位置,但我建议您为文本字段添加标记,如下所示:

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];

这应该删除您的预定义字符串并添加新字符串。     在这里输入代码