Recortando um UIImage

Eu tenho um código que redimensiona uma imagem para que eu possa obter um pedaço escalado do centro da imagem - eu uso isso para tirarUIImage e retornar uma representação pequena e quadrada de uma imagem, semelhante ao que é visto na visualização de álbum do aplicativo Fotos. (Eu sei que eu poderia usar umUIImageView e ajuste o modo de recorte para obter os mesmos resultados, mas essas imagens às vezes são exibidasUIWebViews).

Eu comecei a notar algumas falhas neste código e estou um pouco perplexo. Eu tenho duas teorias diferentes e eu estou querendo saber se qualquer um é on-base.

Teoria 1) Consigo o recorte desenhando em um contexto de imagem fora da tela do tamanho do meu alvo. Desde que eu quero a parte central da imagem, eu definoCGRect argumento passado paradrawInRect para algo que é maior que os limites do contexto da minha imagem. Eu estava esperando que isso fosse Kosher, mas ao invés disso eu estou tentando atrair outra memória que eu não deveria estar tocando?

Teoria 2) Estou fazendo tudo isso em um segmento de fundo. Eu sei que há partes do UIKit que são restritas ao thread principal. Eu estava assumindo / esperando que o desenho para uma visão fora da tela não fosse um desses. Estou errado?

(Oh, como sinto faltaNSImage's drawInRect:fromRect:operation:fraction: método.)

questionAnswers(23)

yourAnswerToTheQuestion