-2

我希望我的 iOS 应用程序将用户键入的文本传递给 URL。相关代码贴在下面。当我运行应用程序时,文本没有被分配任何值。它保持为空。

我是 iOS 编程新手,可能在这里遗漏了一些明显的东西。任何帮助/指针将不胜感激。

Mac OS 版本:10.6.8(64 位) Xcode 版本:3.2.3

在 snapshop 中..“我创建了一个表格视图并将自定义单元格放置在表格的每一行内。TextField 位于自定义单元格视图内。Post 是 textField 旁边的一个按钮,它是一个完成按钮。如果我单击该按钮,我们在 textField 中输入的文本应该发布在我在代码片段中指定的 URL 上。”

注意:文本就像评论,并且发布此评​​论应该发布在该单元格中的特定图像上。

我已经复制了下面的代码片段。我还附上了一张图片来解释。

-(IBAction)postAction:(id)sender

{

int index=[sender tag];

homecell *cell = [[homecell alloc] init];

UITextField *txt_c =(UITextField *)[cell.txt_comment viewWithTag:index];

NSLog(@"jj %@",txt_c);

gen_data *ut1=[[gen_data alloc]init];

gen_data *ut=[gen_data getInstance];

.... }

![在 snapshop 中..“我创建了一个表格视图并将自定义单元格放置在表格的每一行内。TextField 位于自定义单元格视图内。Post 是 textField 旁边的一个按钮,它是一个完成按钮。如果我点击那个按钮,我们在 textField 中输入的文本应该发布在我在代码片段中指定的 URL 上。"![][1] 1

4

4 回答 4

0

你的问题在这里:

NSLog(@"jj %@",txt_c);

%@指的是UITextField自身,而不是文本 ( NSString*)

NSLog(@"jj %@",txt_c.text);
于 2013-06-04T12:31:54.473 回答
0

在附加用户输入的文本之前,首先添加百分比编码,如下所示

[@"" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

还添加以下内容

homecell *cell = [[homecell alloc] init];

UITextField *txt_c =(UITextField *)[cell.txt_comment viewWithTag:index];

如果您正在创建一个新的单元格对象来获取用户输入的文本,它将始终为零。您必须为点击 indexPath 按钮获取单元格,并从该单元格中获取文本。

于 2013-06-04T12:36:29.323 回答
0

调用此方法时,您正在初始化一个新单元格:homecell *cell = [[homecell alloc] init];。这将创建一个全新的单元格,因此显然文本字段将为空。

您需要找到某种方法来处理有问题的单元格。

有几种方法可以做到这一点,例如,您可以实现 UITextField 委托,并在每次文本更改时对文本执行某些操作,或者您可以在与它所在的单元格对应的某处保存对单元格的引用。

我无法告诉您应该采用哪种方式,因为我不知道哪种方式最适合您的情况。

于 2013-06-04T12:36:46.820 回答
0

如果您使用的是自定义单元格视图,那么您可以试试这个。对我来说工作得很好。

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *customCellView = @"CustomCellView";

    CustomCellView *cell = (CustomCellView *)[tableView dequeueReusableCellWithIdentifier:customCellView]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:self options:nil]; 单元格 = [笔尖 objectAtIndex:0]; }

    cell.nameLabel.text = [_newArr objectAtIndex:indexPath.row];

    返回单元格;}

于 2013-06-04T12:52:10.513 回答