2012-10-19 79 views
0

我有以下代碼:問題與模塊和內存釋放

- (void) likeImage:(AHInstagramImageData *) image 
      success:(void (^)(BOOL success))success 
      failure:(void (^)(NSError* error, NSInteger statusCode))failure 
{ 
    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
          [AHInstagramSession session].accessToken, @"access_token", 
          nil]; 
    NSString *likeCommentPath = [NSString stringWithFormat:@"media/%@/likes", image.imageId]; 
    [self postPath:likeCommentPath parameters:params success:^(AFHTTPRequestOperation *operation, id response){ 
     if ([operation hasAcceptableStatusCode]) { 
      [[LocalyticsSession sharedLocalyticsSession] tagEvent:@"Like"]; 

      [[AHFacebookSession session] postAction:@"like" forImageData:image]; 
      [[AHTwitterSession session] postAction:@"like" andObject:image]; 

      success(YES); 


    }failure:^(AFHTTPRequestOperation *operation, NSError *error){ 
     failure(error, operation.response.statusCode); 
     NSLog(@"Failure on liking a photo %@", [error description]); 
    }]; 
} 

,它給我的錯誤:

enter image description here

回答

1

看起來不像是內存的問題。檢查success塊是否在調用之前設置了它。

if (success) 
{ 
    success(YES); 
} 
+0

在我調用它之前該如何設置? – adit

+0

我的意思是你傳遞給'success:(void(^)(BOOL success))success'的參數。如果'success'是一個NULL塊,你的應用程序將崩潰。我猜這就是發生了什麼,因爲你的堆棧跟蹤的頂部說'__block_invoke_0' –

+0

明白了.. thx一堆! – adit