Jon*_*ing 1 conventions objective-c
在Objective-C中,我通常会看到返回动态类型对象的方法,其定义如下:
- (id)someMethod:(id)someParameter;
Run Code Online (Sandbox Code Playgroud)
我知道我也可以做到这一点:
- someMethod:someParameter;
Run Code Online (Sandbox Code Playgroud)
有趣的是,我在更多核心级别的基础课程中看到了后一种惯例,但其他人似乎都使用了第一种.由于Objective-C运行时会推断出无类型的方法或参数将返回id,为什么要包含它?它不打破阅读的流程吗?
我不仅想知道开发人员在考虑使用这个约定时可能出现的问题,还想知道你们是否认为这很简单?
由于语言允许两种形式,它真的是一种风格.鉴于此,Objective-C在很大程度上依赖于可读性而不是简洁性,并且大多数开发人员更喜欢第一个(-(id)someMethod)因为它明确了返回类型.
与您的问题不直接相关,但id不是动态类型.它是指向Objective-C对象的指针.由于消息调度在Objective-C中是动态的,id因此通常可以将其视为动态类型,但它实际上仍然是静态类型.换句话说,Objective-C是动态绑定的,但是静态类型化.
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |