BBS > objective c

block 안에서 변수 선언

작성자 : 이창우 (x1wins) | 등록일 : 2013-12-04 | 목록
첨부 파일이 없습니다.
첨부 이미지가 없습니다.
- (void) buildScalingImageWithURL:(NSURL*)url imageView:(UIImageView*)imageView
{
    UIImage *placeholerImage = [self placeHolderImage];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    UIImageView* targetImageView = imageView;
    [targetImageView setImageWithURLRequest:request placeholderImage:placeholerImage success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
        
        dispatch_async(dispatch_get_main_queue(), ^{
            targetImageView.image = image;
            [self imageByScalingAndCroppingForSize:targetImageView.frame.size imageView:targetImageView];
        });
        
    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
        
    }];
}
targetImageView때문에 에러가 난다.
- (void) buildScalingImageWithURL:(NSURL*)url imageView:(UIImageView*)imageView
{
    UIImage *placeholerImage = [self placeHolderImage];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    __weak UIImageView* targetImageView = imageView;
    [targetImageView setImageWithURLRequest:request placeholderImage:placeholerImage success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
        
        dispatch_async(dispatch_get_main_queue(), ^{
            targetImageView.image = image;
            [self imageByScalingAndCroppingForSize:targetImageView.frame.size imageView:targetImageView];
        });
        
    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
        
    }];
}
__weak을 붙여 해결!
strongly in this block is likely to lead to a retain cycle

블럭을 사용하다보면 이런 에러를 가끔 만난다

외부에서 사용하다 블럭안에서는 사용하는 변수는 __weak을 붙여주어 약한참조 사용하도록 한다.

클래스 맴버 변수는 __block으로 해도 안된다. __weak가 필요하다

http://stackoverflow.com/questions/14556605/capturing-self-strongly-in-this-block-is-likely-to-lead-to-a-retain-cycle
로그인 하셔야 댓글을 사용하실수 있습니다.
댓글쓰기를 누르면 로그인 페이지로 이동 후 돌아옵니다.
총 댓글 겟수 0
번호 제목 등록일 작성자 조회수
667 uinavigation 영역 문제 (0) 2014-04-10 이창우 1556
661 cocos2d-x start (0) 2014-02-27 이창우 2677
660 unsupported compiler (0) 2014-02-26 이창우 1582
656 UIView에서 viewDidUnload (0) 2014-01-05 이창우 1952
655 UItextView height (0) 2014-01-03 이창우 2464
654 UIView contentMode (0) 2013-12-15 이창우 1915
653 UILabel 줄간격, 사이즈 (0) 2013-12-10 이창우 5455
652 네비게이션에 세그먼트 달기 (0) 2013-12-09 이창우 1804
651 scrollview kvo sample (0) 2013-12-08 이창우 1507
650 UIImageView fade 효과 (0) 2013-12-04 이창우 1614
-> block 안에서 변수 선언 (0) 2013-12-04 이창우 1652
648 UIRefreshControl sample (0) 2013-12-03 이창우 1489
647 CommonCell (1) 2013-12-02 이창우 1258
646 NSDate 주차 뽑기 (0) 2013-12-02 이창우 939
643 CommonCell (0) 2013-12-01 이창우 722
642 NSDate <-> long (0) 2013-11-29 이창우 1116
641 nsdate plus 1 month (0) 2013-11-29 이창우 883
639 NSDate 예제 (0) 2013-11-28 이창우 1090
638 NSException (0) 2013-11-28 이창우 982
637 XCode hex color 플로그인 (0) 2013-11-28 이창우 1394
< 1 2 3 4 5 6 7 8 9 10 >
글쓰기 검색