Ios 从NsMutable数组而不是字符串加载按钮值

Ios 从NsMutable数组而不是字符串加载按钮值,ios,parsing,uitableview,parse-platform,Ios,Parsing,Uitableview,Parse Platform,希望你今天过得愉快 根据NSMutableArray值,将tableview单元格中的每个按钮设置为不同值的最佳方法是什么 我可以将这些值放入数组和NSlog中,并在xcode控制台中显示所有URL。当我在我的应用程序中单击按钮时,它只是加载上次的结果,在tableview中所有按钮的数组中设置了一个字符串 例如,当我点击下面的按钮代码时,它将只加载最后一个字符串值(我想将其更改为结果数组中的每个值),我理解字符串应该是这样工作的,因为当它迭代结果时,它会更改字符串,但是我如何设置下面的按钮代码

希望你今天过得愉快

根据
NSMutableArray
值,将tableview单元格中的每个按钮设置为不同值的最佳方法是什么

我可以将这些值放入数组和NSlog中,并在xcode控制台中显示所有URL。当我在我的应用程序中单击按钮时,它只是加载上次的结果,在tableview中所有按钮的数组中设置了一个字符串

例如,当我点击下面的按钮代码时,它将只加载最后一个字符串值(我想将其更改为结果数组中的每个值),我理解字符串应该是这样工作的,因为当它迭代结果时,它会更改字符串,但是我如何设置下面的按钮代码来加载数组中的每个不同URL,而不是字符串值

按钮代码为:

NSLog(@"detailsB %@", self.detailsB); //detailsB is a string value and on NSlog it will only show the last Url from the results  

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:self.detailsB]];  //sets all buttons as the last string value and it opens Safari fine with that one url
谢谢大家,非常感谢大家的帮助


Gerard

如果希望按钮代码从数组中加载URL,使用当前单元格的行作为数组的索引,那么实际上必须从数组中加载URL。您的代码总是使用self.detailsB,我假设它是一个固定的URL

首先,您需要确定按下了哪个单元格的按钮。然后,您需要使用单元格的indexath.row索引到URL数组中,并获取适当的URL


您对哪个部分有问题?

为所有单元格中的按钮创建一个iAction方法。该操作方法将首先确定按钮属于哪个indexPath,然后从数组中查找该indexPath的URL

- (IBAction) cellButtonTapped: (UIButton *) sender;
{
  //convert the button's center coordinates to the table view's coordinate system.
  CGPoint viewCenter = [self.tableview convertPoint: sender.center 
    fromView: sender.superview];

  //Ask the table view which cell's index path contains that point.
  NSIndexPath *indexPath = [self.tableview indexPathForRowAtPoint: viewCenter];
  int row =  indexPath.row;

  //Now fetch the URL string for that row.
  NSString *theURLString = theURLSArray[row];

  //create an NSURL object from the string.
  NSURL *theURL = [NSURL URLWithString: theURLString];

  //Finally, invoke the URL.
  [[UIApplication sharedApplication] openURL: theURL];  
}

你的问题不是很清楚!您是否希望当您点击一个按钮时,它应该从数组中加载所有url并将其打开到Safari…?您好,C_X,是的,它应该为每个按钮设置值,以便当您点击每个按钮时,它将在设备上的Safari中打开相关url。当前,它仅打开字符串设置为的最后一个url。如何将按钮值设置为indexPath.row并打开每个单元格的每个url?谢谢。嗨,Duncan,我可以将url放入数组中,并将字符串设置为数组中的url,它会在所有单元格中运行,并在NSlog中输出正确的url。我只是找不到一种方法将每个按钮设置为单元格的值,它们都设置为最终的字符串值,而不是数组中的每个对象url。如何使用indexPath.row为每个对象设置字符串?还是完全删除字符串并直接使用数组中的对象?谢谢邓肯。我不会试图在按钮上设置字符串。具有每个按钮调用的单个操作。在该操作中,找出该按钮的indexPath.row。您可以通过在每个按钮上放置一个标记(即它的行号)来确定,也可以使用按钮的坐标来确定。请参阅下面我的第二个答案,以获取实现此目的的代码: