Как разделить определение целевой функции c? - PullRequest
0 голосов
/ 04 декабря 2009

У меня очень длинное определение целевой функции c, и я хотел бы разбить его на несколько строк, чтобы сделать функцию более читабельной. Допустим, у меня есть это определение:

-(id) initWithBsType:(NSInteger)buysell AccountCode:(NSString *):c_acc_code password:(NSString *)password exchangeCode:(NSString *)ecode productCode:(NSString *)product orderType:(NSString *)otype price:(NSString *)price qty:(NSString *):qty reference:(NSString *)ref enablePriceWarn:(BOOL)enablepw enableApprvWarn:(BOOL)enableaw orderValidity:(NSString *)validity;

Что мне вставить, чтобы разбить его на 3-4 строки?

(Я создаю объект, который можно сериализовать в xml с использованием libxml, поэтому мне нужно иметь возможность назначить столько параметров для объекта при создании.)

Ответы [ 3 ]

2 голосов
/ 04 декабря 2009

В качестве альтернативы, в конфигурации XCode в разделе «Отступы» вы можете включить «Обтекание строк», чтобы включить мягкое обертывание, и вам больше никогда не придется беспокоиться об этом.

1 голос
/ 04 декабря 2009

В типичном стиле Objective-C методы, которые охватывают несколько строк, обычно выровнены по двоеточию, чтобы сделать их более читабельными:

-(id) initWithBsType:(NSInteger)buysell
         AccountCode:(NSString *)c_acc_code
            password:(NSString *)password
        exchangeCode:(NSString *)ecode
         productCode:(NSString *)product
           orderType:(NSString *)otype
               price:(NSString *)price
                 qty:(NSString *)qty
           reference:(NSString *)ref
     enablePriceWarn:(BOOL)enablepw
     enableApprvWarn:(BOOL)enableaw
       orderValidity:(NSString *)validity;
0 голосов
/ 04 декабря 2009

Видя длинный список параметров, я задаюсь вопросом, как выглядит вызывающая функция ... возможно, довольно длинная.

Я бы порекомендовал использовать структуры и, возможно, разделить чтение 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...