the tabla not keypath framework for containerview compliant coding ios xcode4 uiviewcontroller storyboard nsobject

ios - tabla - this class is not key value coding compliant for the key keypath swift



cómo visualizar UIViewController desde una clase NSObject? (6)

No debe crear instancias y mostrar controladores de vista desde un modelo. Las vistas deben ser impulsadas por modelos.

En este caso, mencionó LoginView como punto de partida. Cuando se cumple alguna condición (¿es posible que MapView sesión exitosamente?), MapView actualizar el modelo subyacente en consecuencia y luego mostrar MapView .

Desde LoginView :

MapView *mapView = [[MapView alloc] init];

Si su aplicación usa un controlador de navegación:

[self.navigationController pushViewController:mapView animated:YES];

De otra manera:

[self presentViewController:mapView animated:YES completion:<nil or block>];

Hay una vista actual como UIViewController que llama "LoginView" pero no estoy, estoy en una clase NSObject y quiero llamar, mostrar otro UIViewController que se llama "MapView". ¿Cómo puedo hacer esto?

El problema es como la captura de pantalla anterior.


Supongo que está intentando acceder a su miembro UIViewController desde una clase UIViewController desde una clase NSObject. Simplemente pasa el miembro UIViewController a la clase NSObject. En este caso, un yo. Lo que te permite hacer es cambiar, editar, eliminar, lo que quieras hacer en tu UIView desde otra clase. El siguiente es un ejemplo de eso.

Llamar a la Clase NSObject desde su clase UIViewController

@implementation myViewControllerClass - (void) viewDidLoad { //Pass in the UIViewController object, in this case itself. [[myNSOBjectClass alloc] startViewController:self]; .... }

Luego, desde tu NSObject

@interface myNSOBjectClass{ //Global access to the view controller. UIViewController *viewController; } ... @implementation myNSOBjectClass ... //function that the caller calls to pass their UIViewController object - (void)startViewController:(UIViewController *)callerViewController{ viewController = [[UIViewController alloc]init]; //puts the caller''s view controller to the global member. viewController = callerViewController; ... }

¡Ahora tiene el controlador de visualización a su alcance!

Saludos :)!


Prueba este código. Te ayudará ......

En su botón, haga clic en acción. Debe enviar su UINavigationController y su ViewController actual. Porque la clase NSObject no encontró ese controlador.

En su acción de botón ponga este código:

[demo login_method_called:self.navigationController withCurrentViewController:self];

En su clase .h de NSObject, coloque este código:

#import <Foundation/Foundation.h> #import "Home_ViewController.h" @interface Method_Action_class : NSObject - (void)login_method_called:(UINavigationController*)navigation withCurrentViewController:(UIViewController*) controller; @end

En su clase NSObject .m, coloque este código:

#import "Method_Action_class.h" @implementation Method_Action_class -(void)login_method_called:(UINavigationController*)navigation withCurrentViewController:(UIViewController*) controller { Home_ViewController *home = [[Home_ViewController alloc] initWithNibName:@"Home_ViewController" bundle:nil]; [navigation pushViewController:home animated:YES]; } @end

Y construye tu código.


En su IBAction o método específico, escriba esto:

UIWindow *window=[UIApplication sharedApplication].keyWindow; UIViewController *root = [window rootViewController]; UIStoryboard *storyboard = root.storyboard; CustomViewController *vcc =(CustomViewController *) [storyboard instantiateViewControllerWithIdentifier:@"storyBoardID"]; [root presentModalViewController:vcc animated:YES];


He creado una clase obersver in view controller y declaro un método de push view controller y post notificación usando NSNotification center desde la subclase NSObject y está funcionando bien.

Controlador de vista: [[NSNotificationCenter defaultCenter] addObserver: selector automático: @selector (dismissPickerView) nombre: kNotificationDismissPicker object: nil];

en la subclase de NSOject: [[NSNotificationCenter defaultCenter] postNotificationName: kMoveToAchievementView object: nil];


Lo usé así en mi clase NSObject:

[[[UIApplication sharedApplication] delegate].window.rootViewController presentViewController:yourMapViewContorller animated:YES completion:nil];

Espero que sea útil.