首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何拆分objective C函数定义?

如何拆分objective C函数定义?
EN

Stack Overflow用户
提问于 2009-12-04 13:02:10
回答 3查看 677关注 0票数 0

我有一个非常长的目标c函数定义,我想把它分成多行,以使函数更具可读性。假设我有这样的定义:

代码语言:javascript
复制
-(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行?

(我正在创建一个可以使用libxml序列化为xml的对象,因此我需要能够在创建时为该对象分配这么多参数。)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-04 13:14:25

在典型的Objective-C风格中,跨越多行的方法通常用冒号对齐,以使它们更具可读性:

代码语言:javascript
复制
-(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;
票数 1
EN

Stack Overflow用户

发布于 2009-12-04 13:15:10

或者,在Xcode的“缩进”配置中,您可以打开“换行”来启用软换行,这样您就再也不用担心这个问题了。

票数 2
EN

Stack Overflow用户

发布于 2009-12-04 14:02:10

看到长长的参数列表,我想知道调用函数是什么样子的……可能会很长。

我建议使用结构,也许可以将XML的读取拆分成更多的方法,例如:

代码语言:javascript
复制
typedef struct {
    /* ... */
} Order;

// extend the xml-reader for clean seperation, 
// seperate into multiple methods if too big
-(BOOL) readOrder:(Order*);

现在你的初始化器只需要接受一个参数:

代码语言:javascript
复制
-(id) initWithOrder:(Order*)order;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1844961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档