/ / Retorna um objeto de um bloco para corresponder ao comportamento de NS_RETURNS_RETAINED [fechado] - objetivo-c, gerenciamento de memória, contagem automática de referências, objetivo-c-blocos

Retorna um objeto de um bloco para corresponder ao comportamento de NS_RETURNS_RETAINED [fechado] - objetivo-c, gerenciamento de memória, contagem automática de referência, objetivo-c-blocos

Eu estou usando um bloco para swizzle um método com NS_RETURNS_RETAINED comportamento. Meu programa está falhando, presumivelmente porque o ARC está liberando automaticamente o valor de retorno. Posso adicionar o NS_RETURNS_RETAINED Atribuir ao meu bloco?

Respostas:

1 para resposta № 1

Se necessário, você pode aumentar artificialmente a contagem de retenções do valor de retorno:

^id () {
void * retained = (__bridge_retained void *)myObject;
return (__bridge id)retained;
};