Две вещи:
Предполагая, что текстовое представление было добавлено в View Controller с помощью Interface Builder, возможно, вы забыли подключить представление в IB к IBOutlet в своем коде.
Чтобы проверить это, вы можете добавить быстрое утверждение:
NSAssert(addDrinkVC.ingredientsTextView,@"ingredientsTextView in AddDrinkViewController is nil. Did I forget to wire it?")
addDrinkVC.ingredientsTextView.editable = YES;
Если утверждение не выполнено, ваша программа завершится сбоем, и вы увидите это сообщение на консоли.
Во-вторых, я хотел быпереместите логику, которая устанавливает редактируемое свойство в сам контроллер представления (в вашем случае класс AddDrinkViewController)
-(void) viewWillAppear:(BOOL) animated {
[super viewWillAppear:animated];
NSAssert(addDrinkVC.ingredientsTextView,@"ingredientsTextView in AddDrinkViewController is nil. Did I forget to wire it?")
addDrinkVC.ingredientsTextView.editable = YES;
}
-или-
-(void) viewDidLoad {
NSAssert(addDrinkVC.ingredientsTextView,@"ingredientsTextView in AddDrinkViewController is nil. Did I forget to wire it?")
addDrinkVC.ingredientsTextView.editable = YES;
}