Когда вы создаете новый контроллер вида, он не загружает свой вид сразу. Таким образом, если код, в котором вы инициализируете value
и suit
, находится в методе init
, то doublePicker
по-прежнему nil
. В противном случае, если этот код находится в viewDidLoad
или loadView
, он все равно не будет выполнен при попытке доступа к value
и suit
с использованием [dummyObject value];
и [dummyObject suit];
Редактировать: (после комментария ОП)
Мой ответ по-прежнему правильный, потому что в строке:
BIDDoubleComponentPickerViewController *dummyObject = [BIDDoubleComponentPickerViewController new];
вы создаете новый объект dummyObject
, который отличается от контроллера представления, в котором было видно представление средства выбора. Таким образом, значения value
и suit
, которые вы ищете, являются свойствами другого контроллера представления, а не того, который вы только что инициализировали.
Чтобы решить вашу проблему, вы не должны создавать новый экземпляр BIDDoubleComponentPickerViewController
, а должны извлекать экземпляр, который содержит значения, которые вы ищете.