Object-C 语法

1.@
@() 代表NSNumber类型
@1;
[NSNumber numberWithInt:1]; //等价于
@('c’);
[NSNumber numberWithChar:'c']; //等价于

@[] 代表数组NSArray类型
@[@"1",@"2",@"3”];
[NSArray arrayWithObjects:@"1",@"2",@"3", nil]; //等价于

@{}代表字典NSDictionary类型
@{@"456":@"123”};
[NSDictionary dictionaryWithObject:@"123" forKey:@"456"]; //等价于

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

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

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

3.结构体
CGRect rect = {1, 2}; CGRect rect = {1, 2, 0, 0}; // 等价于

4.三元条件表达式(针对字符串)
NSString *string = inputString ?: @"default"; NSString *string = inputString ? inputString : @"default"; // 等价于

5.小括号内联复合表达式
来自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];
//这样使得代码量增大时层次仍然能比较明确。

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

推荐阅读更多精彩内容

  • 看完征战Objective-C和Objective-C面向对象初体验发现Object-C的语法和C语言是一致的,用...
    沉思的Panda阅读 1,044评论 1 14
  • // //UIView.h //UIKit // //Copyright (c) 2005-2015 Apple ...
    李某lkb阅读 1,755评论 0 0
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,154评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,595评论 6 30
  • Day1—《小绿狼》 生活当中我们都会遇到过被嘲笑、被驱使、被排挤的时候,我们从别人的言语、目光反应中来定位自己,...
    冰雪卡其阅读 507评论 0 2