我一直在为自己开发一个简单的 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];
}
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];
这应该删除您的预定义字符串并添加新字符串。