2015-03-25 58 views
1

我无法在json中获得我的照片,我是否没有错误得到它?我已经检查我的照片网址在PHP中,它的工作原理,json照片路径xcode

在我tableview.m文件:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    DetailHomeViewController * dvc = [[DetailHomeViewController alloc]init]; 

    HomeDetail * currentHome = [HomeArray objectAtIndex:indexPath.row]; 

    dvc.photodetail = currentHome.photo_path; 

    NSURL *url = [NSURL URLWithString:dvc.photodetail]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 

    dvc.photolabel.image = [UIImage imageWithData:data]; 

    [self presentViewController:dvc animated:YES completion:nil]; 
} 


#pragma mark - Methods 
- (void) retrieveData 
{ 
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 
    NSURL * url = [NSURL URLWithString:getDataURL]; 
    NSData * data = [NSData dataWithContentsOfURL:url]; 
    json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]; 
    HomeArray = [[NSMutableArray alloc]init]; 

    for (int i = 0; i < json.count; i++) 
    { 

     NSString * photo = [[json objectAtIndex:i] objectForKey:@"photo_path"]; 


     HomeDetail * home2 = [[HomeDetail alloc]initWithPhoto_path:photo]; 

     [HomeArray addObject:home2]; 
    } 

    [self.myTableView reloadData]; 
} 

我HomeDetail.h文件:(JSON文件)

@property (nonatomic, strong) NSString * photo_path; 

//Methods 
- (id) initWithPhoto_path: (NSString *) photo ; 

我HomeDetail。 M档:

- (id) initWithPhoto_path: (NSString *) photo ; 
{ 
    self = [super init]; 
    if (self) 
    {photo_path = photo;} 
    return self; 
} 

我DetailHomeViewController.h文件:

@property (nonatomic, strong) NSString * photodetail; 
@property (strong, nonatomic) IBOutlet UIImageView *photolabel; 

我DetailHomeViewController.m文件:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 

    // photolabel.image = photodetail; 


    NSURL *url = [NSURL URLWithString:photodetail]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 

    photolabel.image = [UIImage imageWithData:data]; 
} 

,这里是我的JSON数据:

[{"id":"2","detail_english":" TESTING_DETAIL","photo_path":"img\/uploads\/news\/news_20150320075842.png","date":"2013-10-15"‌​,"display_stat":"1","news_order":"1"}, 
{"id":"5","detail_english":"empty","photo_path":"img\/uploads\/news\/news_20150323105547.png","date":"2015-03-20","display_stat":"1","news_order":"1"}] 
+0

我能有一个正确的答案,因为我读的苹果开发文档了,但我仍然不知道自己做错了什么我〜 – 2015-03-27 11:10:08

+0

这是什么都做与'Xcode IDE'? – Popeye 2015-03-27 11:40:22

+0

JSON数据在哪里? – Popeye 2015-03-27 11:40:50

回答

1

你的照片路径是不完整的URL,你需要添加域名。

所以你的字符串应该是这样的:

http://www.domain.com/img/uploads/news/news_20150323105547.png 
+0

这张照片在我的数据库文件中,所以我的json文件不应该有域名,它不正确? – 2015-03-27 14:56:21

+0

@MatchTsui如果你不把域名如何让你的应用程序知道如何在服务器上找到它 – meda 2015-03-27 14:58:00

+0

我尝试追加域名在我的网址,它的工作原理,这意味着我需要改变我的照片链接在JSON文件? – 2015-03-27 15:09:50