Здравствуйте, я не полностью понимаю вызов функции автоопределения в obj-C.Objective C autorelease
@interface A{
id obj;
}
@implementation A
-(void)myMethod;
{
obj = [BaseObj newObj]; //where newObj is a method like :[[[BaseObj alloc]init]autorelease];
}
-(void)anotherMehtod;
{
[obj someMeth]; //this sometimes gives me EXC_BAD_ACCESS
}
@end
Чтобы решить эту проблему, я разместил ее. Теперь мне нужно выпустить этот объект вручную, если я его сохраню?
Примечание стороны: правила в какао является то, что, если имя метода начинается с '' new', copy', 'retain' или' alloc', вызывающий абонент должен отправить 'release' или' autorelease', чтобы сбалансировать его. Таким образом, метод с именем 'newObj' не должен авторейтировать собственный результат. –