iOS 5 Marco de Twitter y finalización Bloque Handler: "Capturarse fuertemente a sí mismo en este bloque probablemente conducirá a un ciclo de retención"

Soy muy nuevo en programación y Objective-C y estoy tratando de resolver lo que está mal con mi código. He leído un poco sobre los bloques, pero no sé cómo algo de lo que he leído hasta ahora es relevante para mi código.

Mi código está usando el Marco de Twitter de iOS 5. Utilizo la mayoría del código de muestra que proporciona Apple, así que al principio no tenía idea de que estaba usando un bloque para el controlador de finalizació

Ahora recibo esos dos mensajes de Xcode 4 que dicen " 1. El bloque será retenido por un objeto fuertemente retenido por el objeto capturado "y"s muy probable que capturar 'self' en este bloque conduzca a un ciclo de retención ".

ásicamente, lo que hice fue eliminar el código que Apple usó en su controlador de finalización (declaración de cambio con TWTweetComposeViewControllerResultCancelled & TWTweetComposeViewControllerResultDone) y usé mis declaraciones if con[imagePickerController sourceType].

Entonces elsendTweet recibe una llamada después de agregar una imagen al tweet.

Espero que alguien pueda explicarme por qué sucede esto y cómo puedo resolverlo. Además: ¿puedo poner el código del controlador de finalización en un método en lugar de un bloque?

- (void)sendTweet:(UIImage *)image
{
    //adds photo to tweet
    [tweetViewController addImage:image];

    // Create the completion handler block.
    //Xcode: "1. Block will be retained by an object strongly retained by the captured object"
    [tweetViewController setCompletionHandler:
                             ^(TWTweetComposeViewControllerResult result) {
            NSString *alertTitle,
                     *alertMessage,
                     *otherAlertButtonTitle,
                     *alertCancelButtonTitle;

            if (result == TWTweetComposeViewControllerResultCancelled) 
            {
                //Xcode: "Capturing 'self' strongly in this block is likely to lead to a retain cycle"
                if ([imagePickerController sourceType])
                {
                    alertTitle = NSLocalizedString(@"TCA_TITLE", nil);
                    alertMessage = NSLocalizedString(@"TCA_MESSAGE", nil);
                    alertCancelButtonTitle = NSLocalizedString(@"NO", nil);
                    otherAlertButtonTitle = NSLocalizedString(@"YES", nil);

                    //user taps YES
                    UIAlertView *alert = [[UIAlertView alloc] 
                                             initWithTitle:alertTitle 
                                                   message:alertMessage 
                                                  delegate:self   // Note: self
                                         cancelButtonTitle:alertCancelButtonTitle 
                                         otherButtonTitles:otherAlertButtonTitle,nil];
                    alert.tag = 1;
                    [alert show];                
                }            
            }