很难解释,但我会尝试;
我正在制作一个用于展示道路相机的应用程序。我有一个TableViewController,它通向DetailViewController。 我想要实现的是,当我点击第1行时,它会显示来自www.url1.com的图片。如果我点击第2行,它会显示来自www.url2.com的图片,依此类推。我似乎无法弄清楚如何做到这一点。
我首先使用此代码开始:
_place = @[@"E6 Minnesund",
@"E6 Heia"];
_url = @[@"http://webkamera.vegvesen.no/kamera?id=450848",
@"http://webkamera.vegvesen.no/kamera?id=100102"];
但是停了下来,因为我看不出怎么能让这个工作......
有什么想法吗?
请不要只是评价帖子,因为你觉得它很愚蠢。我是Xcode的新手,对我来说,这很难。提前致谢
如有必要,我可以发布整个项目文件夹
答案 0 :(得分:0)
只需在didselectrowAtIndexPath
中编写代码即可- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *picker = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
picker.row=indexPath.row;
[self.navigationController pushViewController:picker];
}
和DetailViewController
in .h
@interface DetailViewController : UIViewController
{
}
@property(nonatomic,assign)int row;
in .m
- (void)viewDidLoad
{
dispatch_queue_t myqueue = dispatch_queue_create("myqueue", NULL);
// execute a task on that queue asynchronously
dispatch_async(myqueue, ^{
NSURL *url = [NSURL URLWithString:[_url objectAtIndex:row];
NSData *data = [NSData dataWithContentsOfURL:url];
dispatch_async(dispatch_get_main_queue(), ^{
Image.image = [UIImage imageWithData:data]; //UI updates should be done on the main thread
UIImageView * myImageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:myImageView];
});
});