我正在尝试将数据从Myfile推送到SDWebImageDataSource并推送SDWebImageRootViewController(View)。我有一个问题,我无法传递数据。我使用了setImageLink
方法但是我在NSInteger
方法中得到了imageLink值(null)为什么会发生这种情况?我应该使用不同的方式吗?
Myfile.h
@property (nonatomic, retain) NSString *image;
Myfile.m
- (void)showSDWebImageSample
{
SDWebImageDataSource *imageController = [[SDWebImageDataSource alloc] init];
[imageController setImageLink:image];
[imageController release];
NSLog(@"imagelink are: %@", imageController.imageLink);
SDWebImageRootViewController *newController = [[SDWebImageRootViewController alloc] init];
[[self navigationController] pushViewController:newController animated:YES];
[newController release];
}
SDWebImageDataSource.m
-(void)setImageLink:(NSString *)imageLinkStr
{
imageLink = imageLinkStr;
//// I can see the value here
NSLog(@"111 %@ 111",imageLinkStr);
NSLog(@"222 %@ 222",imageLink);
}
- (NSInteger)numberOfPhotos {
////imageLink string is (null) Problem here
NSLog(@"222 %@ 222",imageLink);
images_ = [[NSArray alloc] initWithObjects:
[NSArray arrayWithObjects:@"http://farm3.static.flickr.com/2756/4464013736_524526b2b2_z.jpg", @"http://farm3.static.flickr.com/2756/4464013736_524526b2b2_s.jpg", nil], [NSArray arrayWithObjects:imageLink, imageLink, nil], nil];
NSInteger count = [images_ count];
return count;
}
- (void)imageAtIndex:(NSInteger)index photoView:(KTPhotoView *)photoView {
NSArray *imageUrls = [images_ objectAtIndex:index];
NSString *url = [imageUrls objectAtIndex:FULL_SIZE_INDEX];
[photoView setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:@"photoDefault.png"]];
}
答案 0 :(得分:1)
也许不是最好的解决方案,但你可以尝试这种方式:
-(void)setImageLink:(NSString *)imageLinkStr {
imageLink = imageLinkStr;
//// I can see the value here
NSLog(@"111 %@ 111",imageLinkStr);
NSLog(@"222 %@ 222",imageLink);
[[NSUserDefaults standardUserDefaults] setObject:imageLink forKey:@"image"];
[[NSUserDefaults standardUserDefaults]synchronize];
}
- (NSInteger)numberOfPhotos {
NSString *importImage = [[NSUserDefaults standardUserDefaults] objectForKey:@"image"];
////imageLink string is (null) Problem here
NSLog(@"222 %@ 222",importImage);
images_ = [[NSArray alloc] initWithObjects:
[NSArray arrayWithObjects:@"http://farm3.static.flickr.com/2756/4464013736_524526b2b2_z.jpg", @"http://farm3.static.flickr.com/2756/4464013736_524526b2b2_s.jpg", nil], [NSArray arrayWithObjects:importImage, importImage, nil], nil];
NSInteger count = [images_ count];
return count;
}