Видя длинный список параметров, я задаюсь вопросом, как выглядит вызывающая функция ... возможно, довольно длинная.
Я бы порекомендовал использовать структуры и, возможно, разделить чтение XML на несколько методов, например ::100100
typedef struct {
/* ... */
} Order;
// extend the xml-reader for clean seperation,
// seperate into multiple methods if too big
-(BOOL) readOrder:(Order*);
Теперь ваш инициализатор должен принимать только один параметр:
-(id) initWithOrder:(Order*)order;