我创建了这样的 Author 类:
@interface Author : NSObject{
NSString *authorID;
NSString *email;
NSString *userName;
NSString *password;
NSString *jenisKelamin;
NSString *alamat;
NSString *kota;
NSString *telepon;
NSString *pekerjaan;
NSString *nama;
NSString *tanggalDaftar;
NSString *status;
NSString *lastLogin;
NSString *publishPhoto;
NSString *komentar;
NSString *balasKomentar;
NSString *newsLetter;
}
@property (nonatomic, retain)NSString *authorID;
@property (nonatomic, retain)NSString *email;
@property (nonatomic, retain)NSString *userName;
@property (nonatomic, retain)NSString *password;
@property (nonatomic, retain)NSString *jenisKelamin;
@property (nonatomic, retain)NSString *alamat;
@property (nonatomic, retain)NSString *kota;
@property (nonatomic, retain)NSString *telepon;
@property (nonatomic, retain)NSString *pekerjaan;
@property (nonatomic, retain)NSString *nama;
@property (nonatomic, retain)NSString *tanggalDaftar;
@property (nonatomic, retain)NSString *status;
@property (nonatomic, retain)NSString *lastLogin;
@property (nonatomic, retain)NSString *publishPhoto;
@property (nonatomic, retain)NSString *komentar;
@property (nonatomic, retain)NSString *balasKomentar;
@property (nonatomic, retain)NSString *newsLetter;
@end
并像这样阅读json:
imageArray = [[NSMutableArray alloc]init];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [[NSData alloc]initWithContentsOfURL:url];
NSError *jsonParsingError = nil;
id myJson = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&jsonParsingError];
NSDictionary *imageList;
for (int i=0; i<[myJson count]; i++) {
imageList=[myJson objectAtIndex:i];
currentImage = [ImageList alloc];
currentImage.imageID=[imageList valueForKey:@"id"];
currentImage.tanggal=[imageList valueForKey:@"tanggal"];
currentImage.judul=[imageList valueForKey:@"judul"];
currentImage.namaFile=[imageList valueForKey:@"nama_file"];
currentImage.deskripsi=[imageList valueForKey:@"deskripsi"];
currentImage.user=[imageList valueForKey:@"user"];
currentImage.status=[imageList valueForKey:@"status"];
currentImage.views=[imageList valueForKey:@"views"];
currentImage.rating=[imageList valueForKey:@"rating"];
currentImage.totalRating=[imageList valueForKey:@"total_rating"];
currentImage.totalPerating=[imageList valueForKey:@"total_perating"];
currentImage.imageThemeID=[imageList valueForKey:@"tema"];
currentImage.bayesianRating=[imageList valueForKey:@"bayesian_rating"];
currentImage.imageURL=[imageList valueForKey:@"img_url"];
NSDictionary *authorDict = [imageList objectForKey:@"author"];
currentImage.author = [[[Author alloc] init] autorelease];
currentImage.author.authorID = [authorDict valueForKey:@"id"];
currentImage.author.email = [authorDict valueForKey:@"email"];
currentImage.author.userName = [authorDict valueForKey:@"username"];
currentImage.author.password = [authorDict valueForKey:@"password"];
currentImage.author.jenisKelamin = [authorDict valueForKey:@"jenis_kelamin"];
currentImage.author.alamat = [authorDict valueForKey:@"alamat"];
currentImage.author.kota = [authorDict valueForKey:@"kota"];
currentImage.author.telepon = [authorDict valueForKey:@"telepon"];
currentImage.author.pekerjaan = [authorDict valueForKey:@"pekerjaan"];
currentImage.author.nama = [authorDict valueForKey:@"nama"];
currentImage.author.tanggalDaftar = [authorDict valueForKey:@"tanggal_daftar"];
currentImage.author.status = [authorDict valueForKey:@"status"];
currentImage.author.lastLogin = [authorDict valueForKey:@"last_login"];
[imageArray addObject:currentImage];
[currentImage release];
return self;
}
但是,如果我尝试使用以下方法获取值:
jsonImage =[[JSONReader alloc]loadImageList:newURL];
ImageList *currentImage;
currentImage = [[jsonImage imageArray]objectAtIndex:0];
[jsonTheme release];
if([jsonImage.imageArray count]>0){
NSLog(@"getting image starting");
NSURL *imageURL=[NSURL URLWithString:currentImage.imageURL];
NSLog(@"image URL from array : %@", currentImage.imageURL);
NSData *imageData=[NSData dataWithContentsOfURL:imageURL];
imgTemp = [UIImage imageWithData:imageData];
self.imgImage.image = imgTemp;
NSLog(@"getting image stop");
lblDate.text = currentImage.tanggal;
lblDescription.text = currentImage.deskripsi;
lblSummary.text = currentImage.judul;
Author *currentAuthor = currentImage.author;
lblUser.text = currentAuthor.userName;
[currentImage release];
}
lblUser.text = currentTheme.author.userName; the result of lblUser is null.
当我尝试调试时, userName 的值有 index :
currentAuthor Author * 0x071a9a20
NSObject NSObject
authorID NSString * 0x0753e700
[0] id 0x071a4ad0
[0] id
email NSString * 0x075403a0
[0] id 0x071a58e0
userName NSString * 0x0753fef0
[0] id 0x071a5930
你能告诉我如何获取 currentAuthor 值吗?