ios xcode lldb nsundomanager

ios - Fallo de los estados de impresión LLDB de Xcode-NSUndoManager



(5)

¿ myTextField realmente apunta a un UITextField ? Esa es una de las razones por las que este error aparecerá. Por ejemplo, el siguiente código se compilará, y si establezco un punto de interrupción en la tercera línea, puedo ingresar la po b.superview para reproducir el error que vio.

NSString *a = @"not a view"; UITextField *b = (UITextField *)a; UIView *view = b.superview;

Intente escribir po [myTextField class] en tu indicador de LLDB para ver si en realidad es un UITextField . Podría ser otro tipo de objeto, o nil .

Tengo un punto de interrupción establecido y quiero imprimir la vista de mi UITextField. po myTextField.superview pero recibo el siguiente error:

error: instance method ''undoManager'' has incompatible result types in different translation units (''id'' vs. ''NSUndoManager *'') note: instance method ''undoManager'' also declared here error: 1 errors parsing expression

¿Qué significa esto y cómo puedo imprimir mi supervisión? Encontré un enlace que proporciona una solución alternativa en el código: http://openradar.io/15890965 , pero me gustaría una mejor solución.


¿Tiene algún método de acceso personalizado para ''myTextField''? He visto este mismo problema varias veces y generalmente es causado por el po que intenta imprimir una propiedad para un objeto que se inicializa la primera vez que se llama a su captador. Por ejemplo, si intento ejecutar ''po self.imageView.contentMode'' en un UITableViewCell obtengo el mismo error. Intente mover su punto de interrupción a un punto en el código donde sabe que ''myTextField'' se ha inicializado completamente.


Gente del mundo: ¡Tengo una respuesta!

Para esquivar todos los errores de UIKit: antes de escribir su declaración po , escriba la línea - expr @import UIKit

Si desea activar esto para su aplicación globalmente, agregue el siguiente punto de interrupción en su delegado de aplicación:

Gracias a Craig Hockenberry y Steve Streza por la actualización (que se encuentra here ).


La solución que utilizo para evitar este error durante la depuración es lanzar explícitamente todo .

En tu caso yo lo haría.

po [(UITextField *)myTextField superView]


Obtuve este error en Xcode 5.1.1 y lo arreglé saliendo de Xcode 5.1.1 y probando Xcode 6. El reinicio de Xcode 5.1.1 para Xcode 5.1.1 también puede funcionar para algunas personas.