Lorsque je pousse un viewcontroller, comment puis-je transmettre aussi des données (comme "asdf": 123)? Êtes-vous censé append des objects à un NSBundle?
MyViewController * myVC = [[MyViewController alloc] initWithNibName:nil bundle:nil]; myVC.someProperty = someValue; // Pass your data here [self.navigationController pushViewController:myVC animated:YES];
Et dans votre class MyViewController
:
.h
@interface MyViewController : UIViewController @property (nonatomic, strong) NSSsortingng * someProperty; @end
.m
@implementation MyViewController - (void)viewDidLoad { [super viewDidLoad]; // your data has been set // self.someProperty is equal to "some value" }
Je ne crois pas que vous le pouvez, mais bien sûr vous pouvez append des propriétés ou des methods pertinentes à votre class ViewController et les utiliser avant de le pousser.
Non. Vous pouvez assimiler NSBundle
à Android Bundle
, mais ils ne sont pas liés et n'effectuent pas de tâches similaires. Clafou a raison de suggérer de transmettre des données via des methods et des propriétés.