Вы не обращаетесь к переменной экземпляра в этом коде
MyViewController *vc = [[MyViewController alloc] init];
MyViewController.search_type = [NSMutableString stringWithString:@"buy"];
[self.navigationController pushViewController:vc animated:NO];
Вы создаете экземпляр с именем vc
, но не используете его. Попробуйте вместо этого:
MyViewController *vc = [[MyViewController alloc] init];
vc.search_type = [NSMutableString stringWithString:@"buy"];
[self.navigationController pushViewController:vc animated:NO];
НТН.
Обновление
Трудно сказать, в чем проблема в коде, которым вы поделились. Мое другое предположение, основанное на том, чем вы поделились, состоит в том, чтобы убедиться, что вы определили свое свойство и правильно его синтезировали.
// in the header file
@property(nonatomic, copy) NSMutableString *search_type;
// in your implementation
@synthesize search_type = m_search_type;
Если вы сделали это, вам, вероятно, следует поделиться большим количеством своего MyViewController
источника. Не имеет значения, инициализируете ли вы переменную в своем методе init
, потому что вы присваиваете ей новое значение после того, как в любом случае создадите его.