-(IBAction)tapOnLikerImage:(UITapGestureRecognizer*)gestureRecognizer {
AsyncImageView *likerImageView = (AsyncImageView*)[gestureRecognizer view ];
NSDictionary * likerdetail = [(NSDictionary*)(likerImageView.tag) retain];
NSLog(@"frndDetDict2 %@",[(NSDictionary*)(likerImageView.tag) retain]);
}
答案 0 :(得分: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会自动为您处理此问题。