2013-04-12 136 views
1

通过类比,在Eclipse IDE和许多其他类中,当我声明该类的一些私有属性时,我可以自动生成getters和setters方法。例如,声明大约20个属性非常有用,并且我最终创建了所有我的方法。自动生成代码

我们是否在xCode IDE中具有相同的功能,我的意思是......当我在“.h”中编写一些声明方法时,是否可以自动声明“.m”中的内容......

例如:

在 “.H”,波纹管的代码:

- (NSString *)loadMessageLabelFr:(id)sender{ 

} 

- (NSString *)loadMessageLabelFr:(id)sender; 

在 “.M”,代码 '所需的' 与一个菜单的功能产生

+0

尝试使用JetBrains的AppCode。 – AndrewShmig

回答

1

我知道你的意思是 - 很多时候,宣告10后方法在我的头,我想他们以某种方式转移到我的实现文件。

但是...

这不是Java,对象和文件组织是完全不同的

  1. 您不必定义方法,它仍然是一个有效的使用案例。有不有具体的方法定义和doesNotRecognizeSelector:

  2. 处理方法调用,您可以在运行时

  3. 添加方法的定义可以从多个实现文件一个标题定义方法的类。

通过这些原因(和许多其他),生成的实现文件的方法头部可能比优点更利弊。

最简单的Xcode溶液是

  1. .h复制粘贴方法标头到.m
  2. 使用自动完成,写入标题的开头,例如- (BOOL)将允许您更快地自动完成。
0

你如何定义实例变量?

的回答你的问题(例如变量)是“没有,但你真的需要他们” ...... 使用性能和编译过程中为您创建存取方法。在实践中,你需要明确实现很少的访问器方法。

对于公共方法,答案是否定的,但是,您可以复制方法定义,然后添加方括号,因此不需要很多工作(甚至不需要删除分号)。

而且,这适用于两个变量,并公开定义的方法,开始打字:

- a 

和Xcode中会提供线用适当的方法名称的自动完成功能。

3

获取器和设置器由编译器为您的类属性隐式生成。例如。有

@property int count; 

暗示给你以下几点:

1)命名_count伊娃,它存储的属性的值。

2)一个getter和一个setter

- (int)count 
{ 
    return _count; 
} 

- (void)setCount:(int)count 
{ 
    _count = count; 
} 

该代码插入在编译时间,这样你就不会看到你的.m文件。这很好,因为这样你的代码不会被简单的getter和setter混淆。如果你希望你的getter和setter方法做别的事情不仅仅是设置或返回一个值,你需要定义方法通常的方式,例如:

- (void)setCount:(int)count 
{ 
    NSLog(@"Count set to %d", count); 
    _count = count; 
}