在 NSDictionary 中插入 NSURL 或整数
我有一个类“book.h”,其中我声明了
Book.h
NSInteger WeatherID;
NSString *Description;
NSURL *PictureURL;
BookDetailview.h
#import <UIKit/UIKit.h>
@class Book, XMLAppDelegate;
@interface BookDetailViewController : UIViewController
{
IBOutlet UITableView *tableView;
XMLAppDelegate *appDelegate;
Book *aBook; //creating object of 'Book-class'
NSMutableDictionary *EmpDictionary;
NSMutableArray *EmpArray;
}
@property (nonatomic, retain) Book *aBook;
@property (nonatomic, retain) NSMutableArray *EmpArray;
@end
BookDetailView.m
(UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"creation of cell");
static NSString *CellIdentifier = @"Cell";
ImageCell *cell = (ImageCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; // creating cell from ImageCell.m
NSLog(@"calling image class");
if (cell == nil) {
cell = [[[ImageCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; // allocating with frame
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
NSLog(@"abook ...pictutre url......%@" , aBook.PictureURL);
EmpDictionary=[[NSMutableDictionary alloc]init];
[EmpDictionary setValue:aBook.Description forKey:@"Description"];
[EmpDictionary setValue:aBook.PictureURL forKey:@"PictureURL"];
[EmpDictionary setValue:aBook.WeatherID forKey:@"WeatherID"];
EmpArray=[[NSMutableArray alloc]init];
[EmpArray addObject:EmpDictionary];
NSDictionary *itemAtIndex = [self.EmpArray objectAtIndex:indexPath.row];
[cell setData:itemAtIndex]; //call to 'setData' meyhod to ImageCell.m
NSLog(@"set text of a cell");
return cell;
}
ImageCell.m
-(void)setData:(NSDictionary *)dic {
self.titleLabel.text = [dic objectForKey:@"Description"];
self.urlLabel.text = [dic objectForKey:@"PictureURL"];
self.itemID = (NSInteger)[dic objectForKey:@"WeatherID"];
NSLog(@"setting objects for keys");
// setting up the imageView now
self.imageView.image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: [dic objectForKey:@"PictureURL"]]]];
NSLog(@"setting of image");
}
i have a class 'book.h' in which i have declared
Book.h
NSInteger WeatherID;
NSString *Description;
NSURL *PictureURL;
BookDetailview.h
#import <UIKit/UIKit.h>
@class Book, XMLAppDelegate;
@interface BookDetailViewController : UIViewController
{
IBOutlet UITableView *tableView;
XMLAppDelegate *appDelegate;
Book *aBook; //creating object of 'Book-class'
NSMutableDictionary *EmpDictionary;
NSMutableArray *EmpArray;
}
@property (nonatomic, retain) Book *aBook;
@property (nonatomic, retain) NSMutableArray *EmpArray;
@end
BookDetailView.m
(UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"creation of cell");
static NSString *CellIdentifier = @"Cell";
ImageCell *cell = (ImageCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; // creating cell from ImageCell.m
NSLog(@"calling image class");
if (cell == nil) {
cell = [[[ImageCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; // allocating with frame
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
NSLog(@"abook ...pictutre url......%@" , aBook.PictureURL);
EmpDictionary=[[NSMutableDictionary alloc]init];
[EmpDictionary setValue:aBook.Description forKey:@"Description"];
[EmpDictionary setValue:aBook.PictureURL forKey:@"PictureURL"];
[EmpDictionary setValue:aBook.WeatherID forKey:@"WeatherID"];
EmpArray=[[NSMutableArray alloc]init];
[EmpArray addObject:EmpDictionary];
NSDictionary *itemAtIndex = [self.EmpArray objectAtIndex:indexPath.row];
[cell setData:itemAtIndex]; //call to 'setData' meyhod to ImageCell.m
NSLog(@"set text of a cell");
return cell;
}
ImageCell.m
-(void)setData:(NSDictionary *)dic {
self.titleLabel.text = [dic objectForKey:@"Description"];
self.urlLabel.text = [dic objectForKey:@"PictureURL"];
self.itemID = (NSInteger)[dic objectForKey:@"WeatherID"];
NSLog(@"setting objects for keys");
// setting up the imageView now
self.imageView.image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: [dic objectForKey:@"PictureURL"]]]];
NSLog(@"setting of image");
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)