2013-08-06 41 views
0
-(IBAction)tapOnLikerImage:(UITapGestureRecognizer*)gestureRecognizer { 
    AsyncImageView *likerImageView = (AsyncImageView*)[gestureRecognizer view ]; 
    NSDictionary * likerdetail = [(NSDictionary*)(likerImageView.tag) retain]; 
    NSLog(@"frndDetDict2 %@",[(NSDictionary*)(likerImageView.tag) retain]); 
} 

回答

0

您正在傳遞一個整數,您應該傳遞Objective C對象指針。您可能想從數組中獲取字典。

另外,您的保留髮布呼叫是不正確的。保留在NSDictionary * likerdetail = [(NSDictionary*)(likerImageView.tag) retain];罰款,保留在NSLog(@"frndDetDict2 %@",[(NSDictionary*)(likerImageView.tag) retain]);不是。

做(非ARC)的更好的方法:

-(IBAction)tapOnLikerImage:(UITapGestureRecognizer*)gestureRecognizer { 
    AsyncImageView *likerImageView = (AsyncImageView*)[gestureRecognizer view]; 

    NSDictionary *likerdetail = [[anArray objectAtIndex:(likerImageView.tag)] retain]; 

    NSLog(@"frndDetDict2 %@", likerdetail); 

    [likerdetail release]; 
} 

對於ARC代碼:

-(IBAction)tapOnLikerImage:(UITapGestureRecognizer*)gestureRecognizer { 
    AsyncImageView *likerImageView = (AsyncImageView*)[gestureRecognizer view]; 

    NSDictionary *likerdetail = [anArray objectAtIndex:(likerImageView.tag)]; 

    NSLog(@"frndDetDict2 %@", likerdetail); 
} 

注缺乏任何保留和釋放的ARC代碼:ARC自動處理這個給你。