max*_*son 4 iphone cocoa-touch objective-c ipad ios
想象一下,一个方法是将一个对象添加到某个NSMutableArray或NSMutableDictionary.是否更好(以及为什么)只允许一个带有类型的参数id,或者允许两个 - 一个用于数组,一个用于字典?
例如:
- (void)addObjectToArray:(NSMutableArray *)anArray
orDictionary:(NSMutableDictionary *)aDictionary;
Run Code Online (Sandbox Code Playgroud)
与
- (void)addObjectToArrayOrDictionary:(id);
Run Code Online (Sandbox Code Playgroud)
如果使用第一个选项,我只是将nil参数作为参数传递给我不需要的任何一个(即如果添加到字典中,我将nil作为数组参数传递).
两者都没有 - 我实现了两个单独的方法,一个用于数组,一个用于字典:
- (void)addObjectToArray:(NSMutableArray *)anArray;
- (void)addObjectToDictionary:(NSMutableDictionary *)aDictionary;
Run Code Online (Sandbox Code Playgroud)
它比它更简单,更可测试,更易于维护
一种具有尴尬签名和不明确行为的方法,具体取决于其参数(例如,当参数都是nil或两者都没有时会发生什么nil?); 要么
一种弱类型的方法,它接受任何随机的Objective-C实例,并且必须在运行时验证其类型.
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |