不使用pushViewController将数据传递到另一个文件

时间:2013-10-15 11:22:32

标签: ios pushviewcontroller sdwebimage

我正在尝试将数据从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"]];
}

1 个答案:

答案 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;
   }