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

问题描述 投票:0回答:1

我一直在为自己开发一个简单的 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];

    }
iphone rss uialertview feed
1个回答
1
投票

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

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

这应该删除您的预定义字符串并添加新字符串。

© www.soinside.com 2019 - 2024. All rights reserved.