Да, он должен работать, хотя я считаю, что он более чист: autorelease
объекты в той же области, в которой вы их создали.
Кроме того, в вашем коде много ошибок.Если error
не является nil
, venObject
будет неинициализированным указателем, который может указывать куда угодно.Вызов release
позже по этому указателю может привести к сбою.И вы не освобождаете объекты, если сохранение не удается, что приводит к утечке памяти.