1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhuchaowe-EasyIOS

 / Детали:

Утечка памяти в блоке

Завершенные
Владелец
Создано  
25.11.2024

Следующий фрагмент кода (аналогичные проблемы есть и в других местах) может привести к утечке памяти.

[op addCompletionHandler:^(MKNetworkOperation* completedOperation) {
        [completedOperation responseJSONWithCompletionHandler:^(id jsonObject) {
            msg.responseString = completedOperation.responseString;
            msg.output = jsonObject;
            [self checkCode:msg];
            if([completedOperation isCachedResponse]){
                NSLog(@"iscache:YES");
            }else{
                NSLog(@"iscache:NO");
            }
        }];
    } errorHandler:^(MKNetworkOperation *errorOp, NSError* error) {
        msg.error = error;
        [self failed:msg];
    }];

Можно изменить на:

__unsafe_unretained Request *weakMsg = msg;
__unsafe_unretained Action *weakSelf = self;
[op addCompletionHandler:^(MKNetworkOperation* completedOperation) {
        [completedOperation responseJSONWithCompletionHandler:^(id jsonObject) {
            weakMsg.responseString = completedOperation.responseString;
            weakMsg.output = jsonObject;
            [weakSelf checkCode: weakMsg];
            if([completedOperation isCachedResponse]){
_
                NSLog(@"iscache:YES");
            }else{
                NSLog(@"iscache:NO");
            }
        }];
    } errorHandler:^(MKNetworkOperation *errorOp, NSError* error) {
        weakMsg.error = error;
        [weakSelf failed: weakMsg];
    }];

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account изменить Статус задачи с Предстоит сделать на Завершенные
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/zhuchaowe-EasyIOS.git
git@api.gitlife.ru:oschina-mirror/zhuchaowe-EasyIOS.git
oschina-mirror
zhuchaowe-EasyIOS
zhuchaowe-EasyIOS