OC中语法糖,最新语法总结

<span style="font-size:24px;">    1.方法与顺序无关  

    2.枚举绑定数据类型
    enum {
        ObjectiveC,
        Java,
        Ruby,
        Python,
        Erlang
    };
    typedef NSUInteger Language;  

    3. 属性不用写@synthesize  

    4.语法简化
    4.1 NSNumber
    NSNumber *value;
    value = @12345;
    value = @123.45f;
    value = @123.45;
    value = @YES;  

    4.2 NSArray
    NSArray *array;
    array = @[];               //空数组
    array = @[ a ];          //一个对象的数组
    array = @[ a, b, c ]; //多个对象的数组  

    4.3 NSDictionary
    NSDictionary *dict;
    dict = @{};     //空字典
    dict = @{ k1 : o1 };     //包含一个键值对的字典
    dict = @{ k1 : o1, k2 : o2, k3 : o3 }; //包含多个键值对的字典  

    注:对可变的容器,可以用:
    NSMutableArray *mutablePlanets = [@[
       @"Mercury", @"Venus", @"Earth",
       @"Mars", @"Jupiter", @"Saturn",
       @"Uranus", @"Neptune"
     ] mutableCopy];  

    5.对象下标
    可以通过下标方式存取数组和字典的数据,类似C语言结构  

    5.1 NSArray
    NSArray *array = @[ a, b, c ];
    id obj = array[i];     //通过下标方式获取数组对象,替换原有写法:array objectAtIndex:i];
    array[i] = newObj;     //也可以直接为数组对象赋值。替换原有写法:[array replaceObjectAtIndex:i withObject:newObj];  

    5.2 NSDictionary
    NSDictionary *dict = @{ k1 : o1, k2 : o2, k3 : o3 };
    id obj = dict[k2];     //获取o2对象,替换原有写法:[dic objectForKey:k2];
    dic[k2] = newObj;  //重新为键为k2的对象赋值,替换原有写法:[dic setObject:newObj forKey:k2]  

    6.小结
    @# nsnumbers
    @{} dictionaries
    @“” strings
    @[] arrays
    @() expressions  </span>

OC中语法糖,最新语法总结

时间: 2024-08-02 10:57:33

OC中语法糖,最新语法总结的相关文章

JVM(二):Java中的语法糖

JVM(二):Java中的语法糖 上文讲到在语义分析中会对Java中的语法糖进行解糖操作,因此本文就主要讲述一下Java中有哪些语法糖,每个语法糖在解糖过后的原始代码,以及这些语法糖背后的逻辑. 语法糖 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用.通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会.

java语法糖

语法糖 Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了.这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能.或能提升语法的严谨性.或能减少编码出错的机会.Java提供给了用户大量的语法糖,比如泛型.自动装箱.自动拆箱.foreach循环.变长参数.内部类.枚举类.断言(assert)等 断言(as

OC语法3——点语法,self关键字

点语法:   为了给程序员提供便捷,OC中也引入了点语法.不过它和Java中点语法的意义是完全不同的. 在Java中无论调用任何方法,还是访问public类型的成员变量都是用点语法(.号). 而在OC中只规定点语法只可以替代set和get方法. 例如.stu.age = 23;它的本质是[stu setAge : 23];  即,为stu的age属性赋值为23. int myAge = stu.age; 它的本质是[stu age]; 即,获取stu的age属性并赋值给MyAge. 注意: OC

Java语法糖1:可变长度参数以及foreach循环原理

语法糖 接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了.这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能.或能提升语法的严谨性.或能减少编码出错的机会.Java提供给了用户大量的语法糖,比如泛型.自动装箱.自动拆箱.foreach循环.变长参数.内部类.枚举类.断言(as

Java语法糖设计

语法糖 Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了.这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能.或能提升语法的严谨性.或能减少编码出错的机会.Java提供给了用户大量的语法糖,比如泛型.自动装箱.自动拆箱.foreach循环.变长参数.内部类.枚举类.断言(assert)等 断言(as

C# 基础小知识之yield 关键字 语法糖

原文地址:http://www.cnblogs.com/santian/p/4389675.html 对于yield关键字我们首先看一下msdn的解释: 如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法.运算符或 get 访问器是迭代器. 通过使用 yield 定义迭代器,可在实现自定义集合类型的 IEnumerable 和 IEnumerator 模式时无需其他显式类(保留枚举状态的类,有关示例,请参阅 IEnumerator<T>). yield是一个语法糖 看msdn

Python语法糖系列

摘自:https://blog.csdn.net/five3/article/details/83474633语法糖说明语法糖(Syntactic sugar): 计算机语言中特殊的某种语法 这种语法对语言的功能并没有影响 对于程序员有更好的易用性 能够增加程序的可读性简而言之,语法糖就是程序语言中提供[奇技淫巧]的一种手段和方式而已. 通过这类方式编写出来的代码,即好看又好用,好似糖一般的语法.固美其名曰:语法糖 一个简单的例子假设:有2个数字,现需要从中得到最大的那个数字.如何实现? b =

【转载】游戏并发编程的讨论 &amp; Nodejs并发性讨论 &amp; 语法糖术语

知乎上这篇文章对于游戏后端.性能并发.nodejs及scala等语言的讨论,很好,值得好好看. https://www.zhihu.com/question/21971645 经常了解一些牛逼技术人员的分享,比闭门造车或者停留在陈旧技术固步自封,要好多了. 下面是一些摘录: 用C++开发,1000并发是基本. C++的优点是与硬件近,所以处理图形时速度快很多, 如果是处理业务,其实主要是看选用的算法的时间复杂度. 各语言之间的执行效率差别没那么大,同样用过C++跟JAVA,相比较的话JAVA的学

Java中有哪些语法糖?

不要你写汇编,Java句句是糖 不能同意上面的这句话,要说为什么,首先要定义下面要讲的"语法糖". 语法糖指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,并没有给语言添加什么新东西,但是更方便程序员使用.通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会.语法糖_百度百科 从上面可以看出,就Java语言而言,语法糖并没有给class级别的代码新增其他特性,而是借助编译器,实现了基于编译器的新语法.这种新语法方便易用,可读性好易维护,所以称之为"糖