• Swift-001-Swift简介及基础语法


    1.Swift简介

    2014年WWDC 发布的新开发语言,可与OC共同运行于Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    swift2.0之后的语法则趋于稳定,2017年发布的swift4.0虽有改动,但也只是增添了一些新特性。这些新特性需要在Xcode9上运行才能显示出效果。值得一提的是它支持unicode9,也就是说,可以用某些图片图标来充当变量。

    2.特点

    快速,安全,使用安全的编程模式并添加很多新特性,使编程更简单扩展性更强(支持Cocoa 和 Cocoa Touch框架)。

    取消了OC指针和其他不安全访问的使用.变量总是初始化之前使用,数组和整数检查溢出,内存自动管理

    ③支持代码预览允许程序员在不编译和运行应用程序的前提下运行 Swift 代码并实时查看结果

    ④舍弃OC 早起的SmallTalk的语法,全面改为打点调用(使用点语法调用属性或者函数).

    ⑤提供了类似Java的命名空间(name space)/泛型(generic)/运算对象重载(operator overloading

    语法非常简洁让编程的流程大大缩短、简化、高效、强大.

    ⑦去掉NS前缀

    3.为什么要学习Swift

    swift作为面向协议语言,不仅能写移动端,也可以做到搭建服务器端。纵观国内外iOS开发界,已经有许多公司直接或间接采用swift开发,使用swift语言开发已成为未来iOS开发的趋势。swift以简洁、优雅等优点迅速俘获广大开发者的青睐。

    二、用Playground 体验swift开发

    打开Xcode ,选择创建一个playground 项目

    左边代码区,右边显示区(编译结果)

    创建一个普通的UIView对象

     

    playgound文件的左边是代码区,右边则是显示结果的区域。当点击用于眼睛时会实时显示出界面效果

    可以立即快速查看(Quick Look)和显示结果(Show Result)正如上图所示:

     

    Swift 和OC的重大区别

     

    1>在swift中是没有.h和.m文件之分的。所有的代码全部都存储在一个文件里面。在swift中所有的代码都被封装在{}里面

    2>OC使用alloc init进行初始化,而swift使用()

    3>OC中使用[]来调用方法,而swift中采用点语法。比如UIColor.red

    4>swift中不需要用分号分割语句

    5>不需要#import导入头文件,就可直接使用,

    6>print: NSLog, true 和 false  替代 Yes 和 No 

    7>函数和闭包 使用func来声明一个函数,使用名字和参数来调用函数。使用->来指定函数返回值。

    8>子类的定义方法是在它们的类名后面加上父类的名字,用冒号分割。 子类如果要重写父类的方法的话,需要用override标记

    9>枚举和结构体 使用enum来创建一个枚举,使用struct来创建一个结构体。结构体和类有很多相同的地方,比如方法和构造器。它们结构体之间最大的一个区别就是 结构体是传值,类是传引用

    10>接口和扩展: 使用protocol来声明一个接口

     

    三、常量和变量

    1>.数据类型:

    常见的数据类型变量:

    但其实,在swift中,是不存在基本的数据类型的,所谓的数据类型,其实都只是结构体

    2.变量和常量:

    声明:

    swift中用let声明常量,用var声明变量。

    常量不能修改他的值

    //错误示范,let z 在声明的时候并没有赋值常量是不可改变的,只能在声明时赋值

    在开发中,通常会优先选择使用let,因为不可变会更安全一点。所以建议在写代码之时,先选择let,等到需要变化的时候再改成var。

    自动推导:

    创建一个UIView,不指定类型。可以看到控制台上会打印出UIView的信息。这个现象被称为swift的自动推导。事实上,在代码左侧定义的类型只是程序员希望的类型,而右侧才是程序真实的类型

    也就是说,变量或常量的类型会根据右侧代码执行的结果,推导出对应的类型。

    可以使用热键option点击查看类型。

     

    严格之处:在Swift 中,任何不同类型的数据之间是不允许直接运算的

     

    如果非要让不同类型数据之间能够运算,可以将其中一个类型进行转换

    此时得到的结果就是25。在swift中,做类型转换时是将数据括起来,相当于swift结构体中的构造函数。

     

    当然也可以将前面的整数转换成Double型。此时就能打印出小数来。

    结果是25.5

    //指定类型

     

     Swift代码联想快捷键: 例如:输入CGRect + Command + 9

  • 相关阅读:
    17字符串函数
    16数学函数
    计算文件的相对路径
    PHP生成唯一ID的方法
    PHP高效产生m个n范围内的不重复随机数(m<=n)
    随机红包
    约瑟夫环问题
    求n以内的质数(质数的定义:在大于1的自然数中,除了1和它本身意外,无法被其他自然数整除的数)
    10个值得深思的_PHP_面试问题
    PHP中被忽略的性能优化利器:生成器
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Swift_Brief.html
Copyright © 2020-2023  润新知