我有Json url.i知道获取JSON url的数据。但现在我有一个问题。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"index number %d", indexPath.row);
passingDealDec=[titleDecarray objectAtIndex:indexPath.row];
NSLog(@"passingDealDec%@",passingDealDec);
// you can see selected row number in your console;
}
我需要传递DelaDec(NSString)传递给connectionDidFinishLoading方法我试过这样但是它不起作用
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if ([getDealsDec isEqualToString:passingDealDec]){
NSLog(@"firstpassingDealDec%@",passingDealDec);
NSString *geting2 =[diction valueForKey:@"dealimage"];
NSData *getdata2=[[NSData alloc]initWithData:[NSData dataFromBase64String:geting2]];
NSLog(@"good day2 %@",getdata2);
UIImage *singleimage=[UIImage imageWithData:getdata2];
NSLog(@"GetingSingleImage%@",singleimage);
//[imagesarray addObject:singleimage];
NSString *Dealtitles =[dealPosted valueForKey:@"deaTitle"];
NSLog(@"Singletitles^^^%@",Dealtitles);
NSString *DealPrice=[dealPosted valueForKey:@"price"];
NSLog(@"DealPrice^^^DealPrice%@",DealPrice);
}
}
请告诉我我的代码有什么问题。首先告诉我didSelectRowAtIndexPath方法调用connectionDidFinishLoading.It是否可能。
感谢高级。
答案 0 :(得分:0)
如果您知道ConnectionDidFinishLoading在didSelectAtIndexPath之后触发 然后将DealDec声明为全局(实例)变量,因此将变量设置为didSelectAtIndexPath中的值,该值将保持原样,您可以在Later函数中访问它。
-(void)viewDidLoad{
NSString *DealDec;
}
P.S-如果您之前不知道触发了哪个方法,请在每个方法中放置两个断点,运行应用程序并观察哪个方法首先被执行。
希望这有帮助
[编辑]
didSelectIndexPath{
NSURLConnection *myURL;
Cell.myLabel.text = myURL; //taking that some label text in the cell class has a URl and u want to fire it when u click on it.
[self.connectionDidFinishLoading:myURL];
}
这将解决问题
答案 1 :(得分:0)
你可以通过多种方式做到这一点。
1.您可以通过
调用此Web服务- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
您将数据保存在
中- (void)connectionDidFinishLoading:(NSURLConnection *)connection
这个检查可以在tableView:didSelectRowAtIndexPath
中完成if ([getDealsDec isEqualToString:passingDealDec]){
}