2013-03-05 95 views
0

flickPhotosSearch應該做什麼評論自我。圖像線確實。如果我取消註釋,它工作正常,但由於我需要它動態工作,我需要讓flickrPhotoSearch做同樣的事情。它將相同的信息保存到圖像數組中,但是當它離開該方法時,它不再起作用。MutableArray永久存儲信息

[self flickrPhotosSearch:url]; 
/* self.images = [[NSMutableArray alloc] initWithObjects: 
          [NSArray arrayWithObjects:@"http://farm6.staticflickr.com/5095/5426345292_40ec29d5ea.jpg", @"http://farm6.staticflickr.com/5095/5426345292_40ec29d5ea_s.jpg", nil], nil]; */ 


     NSLog(@"%@", self.images); 

    } 
    return self; 
} 

-(void)flickrPhotosSearch:(NSURL *) url { 

    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; 
    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 

     NSDictionary *photos = [JSON objectForKey:@"photos"]; 
     self.picturesOfLocations = [photos objectForKey:@"photo"]; 


     for (NSDictionary * photo in self.picturesOfLocations){ 



      NSString* flickrfarmID = [photo objectForKey:@"farm"]; 
      NSString* flickrServer = [photo objectForKey:@"server"]; 
      NSString* flickrID = [photo objectForKey:@"id"]; 
      NSString* flickrSecret = [photo objectForKey:@"secret"]; 

      NSString *stringURLOriginalImage = [[NSString alloc] initWithFormat:@"http://farm%@.staticflickr.com/%@/%@_%@.jpg",flickrfarmID,flickrServer, flickrID,flickrSecret]; 
      NSString *stringURLSmallImage = [[NSString alloc] initWithFormat:@"http://farm%@.staticflickr.com/%@/%@_%@_s.jpg",flickrfarmID,flickrServer, flickrID,flickrSecret]; 


      [self.images addObject:[NSArray arrayWithObjects:stringURLOriginalImage,stringURLSmallImage, nil]]; 

      NSLog(@"%@", self.images); 


     } 


    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) { 

     NSLog(@"Request Failed with Error: %@, %@", error, error.userInfo); 

    }]; 
    [operation start]; 

} 
+0

什麼方法是什麼?存儲數組數組(內部數組有2個成員)有什麼想法? – trojanfoe 2013-03-05 07:40:45

+0

我正在使用KTPhotoBrowser,這是他們用它來加載圖像的方式。一個圖像用於縮略圖,一個圖像用於大圖像。 – user1898829 2013-03-05 13:26:14

回答

0

變化:

self.images = [[NSMutableArray alloc] initWithObjects: [NSArray arrayWithObjects:@"http://farm6.staticflickr.com/5095/5426345292_40ec29d5ea.jpg", @"http://farm6.staticflickr.com/5095/5426345292_40ec29d5ea_s.jpg", nil], nil]; 

要:

[self.images addObject:@"http://farm6.staticflickr.com/5095/5426345292_40ec29d5ea.jpg"]; 
[self.images addObject:@"http://farm6.staticflickr.com/5095/5426345292_40ec29d5ea_s.jpg"]; 
+0

你怎麼知道這是OP想要的? – trojanfoe 2013-03-05 07:42:22

+0

@trojanfoe從「MutableArray不永久存儲信息」這一點。他第一次使用數組NSLog正在工作,當他在第二次嘗試時它不起作用。 – Rushi 2013-03-05 07:43:46

+0

好吧,它看起來像他想成對存儲圖像,因此使用內部陣列(一個與大圖像和另一個與小圖像)。 – trojanfoe 2013-03-05 07:48:40