Object-C简写语法(跳槽必备)

作为一个有着强迫症的程序猿,喜欢精简干练通熟易懂的代码,so自己总结了一下OC中简写的语法,欢迎补充。

1.方法声明

返回值如果不写括号,编译器默认是id类型:
-sendMessage;
-(id)sendMessage;//等价于

参数如果不写类型默认也是id类型
-(void)sendMessage:msg;
-(void)sendMessage:(id)msg;//等价于

有多参数时方法名和参数提示语可以为空
-(void):msg1 :msg2;
-(void)sendMessage:(id)msg1 message2:(id)msg2; // 省略前,不建议这样简写,代码可读性降低

2.结构体

CGRect rect = {1, 2};
CGRect rect = {1, 2, 0, 0}; // 等价于

3.小括号内联复合表达式

来自Statements and Declarations in Expressions

RETURN_VALUE_RECEIVER = {( // Do whatever you want RETURN_VALUE; // 返回值 )};

//so 我们可以引申为以下这种写法: UIView *view = ({ UIView *view = [[UIView alloc] initWithFrame:self.view.bounds]; view.backgroundColor = [UIColor redColor]; view.alpha = 0.8f; view; }); [self.view addSubview:view]; //这样使得代码量增大时层次仍然能比较明确。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容