iOS — передача данных в pushed viewcontroller

#ios #uiviewcontroller #nsbundle

#iOS #uiviewcontroller #nsbundle

Вопрос:

Как мне также передавать данные с помощью viewcontroller (например, «asdf»: 123) при нажатии viewcontroller? Вы должны добавлять объекты в NSBundle?

Ответ №1:

 MyViewController * myVC = [[MyViewController alloc] initWithNibName:nil bundle:nil];
myVC.someProperty = someValue;    // Pass your data here
[self.navigationController pushViewController:myVC animated:YES];
  

И в вашем MyViewController классе :

.h

 @interface MyViewController : UIViewController
@property (nonatomic, strong) NSString * someProperty;
@end
  

.m

 @implementation MyViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
        // your data has been set
        // self.someProperty is equal to "some value"
    }
  

Ответ №2:

Я не верю, что вы можете, но, конечно, вы можете добавить соответствующие свойства или методы в свой класс ViewController и использовать их до его нажатия.

Комментарии:

1. Озадачен отрицательными оценками, поскольку то, что я написал, — это именно то, что принятый ответ делает в коде…

Ответ №3:

Нет. Возможно, вы приравниваете NSBundle к Android Bundle , но они не связаны и не выполняют аналогичные задачи. Клафу правильно предлагает передавать данные через методы и свойства.