Swift的优势

作者: 桃子王 | 来源:发表于2017-02-03 15:13 被阅读129次

    高效——易于读和写

    例子1: 初始化可变数组并添加一个对象

    Obj - C:用alloc分配内存,init初始化

    NSMutableArray *array1 = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];

    [array1 addObject:@"4"];

    Swift:使用var声明变量,使用“+=”拼接两个数组

    var array1 = ["1", "2", "3"]

    array1 += ["4"]

    例子2: 取数组的第一个字符串对象,进行拼接并获取range

    Obj - C:用“[]”调用方法,比较冗长

    [[[array1 objectAtIndex:0] stringByAppendingString:@"111"] rangeOfString:@"1111"];

    Swift::用“.”调用方法,非常简洁

    array1[0].appending("111").range(of: "1111")

    易于维护,文件数量更少

    Swift创建的文件只有一个.swift文件,相比于Obj-C的“.h”和“.m”文件,会让文件数目减少一半。

    两种语言的文件类型和结构

    更安全

    Obj-C:潜在的nil危险

    潜在的nil危险

    Swift:出现“?”来提醒潜在的nil对象

    出现?提醒潜在的nil对象

    函数式编程

    例子:

    有两个数组(如下图),根据数组indexes里的元素作为索引从numbers中取出数字并拼接成一个字符串

    两个数组

    Obj-C:命令式编程,可以思路很清晰地写出如下代码

    Objective-C写法

    虽然代码可以work,但是未免太长,也不具有函数性,整个代码段包含太多命令和状态的改变。

    我们可以使用更加函数式的代码写出来。

    Swift:

    函数式代码1

    还可以让代码变的更少:

    函数式代码2

    更更少:

    函数式代码3

    这就是函数式编程的魅力所在,不需要任何新的中间变量,和状态的改变,通过一行代码就可以达到九行代码的效果。

    这也展现出函数式编程的核心 —— 比如使用map、reduce来代替for循环。

    所以还没有接触过Swift的iOS开发者们可以将Swift学起来啦~保证不后悔 ᕕ(ᐛ)ᕗ

    相关文章

      网友评论

        本文标题:Swift的优势

        本文链接:https://www.haomeiwen.com/subject/lfjdittx.html