如何将DRY(不要重复自己)带到Objective-C

And*_*row 5 properties dry objective-c

我来自Ruby到Objective-C,我一直在做:

NSObject *foo;

@property (nonatomic,retain) NSObject *foo;
Run Code Online (Sandbox Code Playgroud)

在.h文件中,然后在.m文件中:

@synthesize foo;
Run Code Online (Sandbox Code Playgroud)

在顶部和

[foo release]
Run Code Online (Sandbox Code Playgroud)

在dealloc.

这是4个步骤添加foo!经验丰富的Objective-C程序员每次想要在一个类中添加新的实例变量时都会手动完成所有四个步骤吗?我错过了让这种干燥的方法吗?

Mat*_*nes 6

这也是C++中常见的问题(声明加倍,尽管它确实有点不同).简短的回答是它是如何构建语言的.因为每个陈述都是独一无二的,并且有其自己的目的,所以它并不真正反对DRY.然而,按照今天的标准,它无疑是非常冗长的.

  • 像所有语言一样,Objective-c中的某些东西是快乐,而其他东西则是一件苦差事. (2认同)