Проверьте, не равен ли brain
ноль.
Если нет:
Проверить myrecipe
и ingredient1
свойства? Они установлены на retain
?
Если нет, положить сохранить.
Проверьте @synthesize
для обоих. Нет ли ошибки типа, чтобы их имя не совпадало с именем, заданным для свойств и ivars?
Если есть ошибки (в верхнем / нижнем регистре), исправьте.
Я также предполагаю, что Ingredient
наследуется от NSObject
(по крайней мере) и имеет [super init]
в начале своего метода init?
Если нет, то наследуете ли вы класс NSObject и сначала его инициализируете.
Если ничего не работает ... тогда просто добавьте еще код. Как вы хотите, чтобы мы решили вашу проблему с помощью такого маленького кусочка кода?
У вас должно быть что-то вроде:
Brain : NSObject {
MyReceipe* receipe;
}
@property (nonatomic, retain) MyReceipe* receipe;
MyReceipe : NSObject {
Ingredient* ingredient1;
}
@property (nonatomic, retain) Ingredient* ingredient1;
Ingredient : NSObject {
NSString* ingredientName;
}
@property (nonatomic, retain) NSString* ingredientName;
во всех .m, добавить @synthsize the_property_name
и метод init, например
- (id) init {
self = [super init];
if (!self) return nil;
self.the_ivar = nil; (or whatever you want)
return self;
}