ios之秒学swif入门手册

mac笔记本基本操作使用

在mac上optoin代替win上的alt,command代替windows键

mac上常用快捷键

  • 剪切、拷贝、粘贴和其他常用快捷键

    • Command-X:剪切所选项并拷贝到剪贴板。
    • Command-C: 将所有文件拷贝到剪贴板这同样适用于访达中的文件。
    • Command-v :将剪贴板的内容粘贴到当前文稿或文件夹中,这同样适用于 访达中的文件。
    • Command-Z:撤销上一个命令。随后您可以按 Shift-Command-Z 来重做,从而反向执行撤销命令。在某些应用中,您可以撤销和重做多个命令。
    • Command-A:全选各项。
    • Command-F:查找文稿中的项目或打开“查找”窗口。
    • Command-G:再次查找:查找之前所找到项目出现的下一个位置。要查找出现的上一个位置,请按 Shift-Command-G。
    • Command-H:隐藏最前面的应用的窗口。要查看最前面的应用但隐藏所有其他应用,请按 Option-Command-H。
    • Command-M:将最前面的窗口最小化至“程序坞”。要最小化最前面的应用的所有窗口,请按 Option-Command-M。
    • Command-O:打开所选项,或打开一个对话框以选择要打开的文件。
    • Command-P:打印当前文稿。
    • Command-S:存储当前文稿。
    • Command-T:打开新标签页。
    • Command-W:关闭最前面的窗口。要关闭应用的所有窗口,请按下 Option-Command-W。
    • Option-Command-Esc强制退出应用。
    • Command–空格键:显示或隐藏“聚焦”搜索栏。要从“访达”窗口执行“聚焦”搜索,请按 Command–Option–空格键。(如果您使用多个输入源以便用不同的语言键入内容,这些快捷键会更改输入源而非显示“聚焦”。了解如何更改冲突的键盘快捷键。)
    • Control-Command–空格键:显示字符检视器,您可以从中选择表情符号和其他符号
    • Control-Command-F:全屏使用应用(如果应用支持)。
    • 空格键:使用快速查看来预览所选项。
    • Command-Tab:在打开的应用中切换到下一个最近使用的应用。
    • Shift-Command-3:拍摄整个屏幕的屏幕快照。进一步了解屏幕快照快捷键
    • Shift-Command-N:在“访达”中创建一个新文件夹。
    • Command-逗号 (,):打开最前面的应用的偏好设置。
  • 常用操作键

    • Command-F3:快速回到桌面
    • alt+⬆️:切换输入法(自定义快捷键,可以在右上角的输入法-偏好设置定义)
    • control-Command-空格:输出特殊符号,可以直接输出表情

其它快捷键请点击查看

秒学swif语

学习一门语言的方法

  • 应用程序=数据结构+算法

    • 面向过程
    • 数据结构:常量、变量,注释、基本数据类型、函数、闭包、枚举
    • 算法:基本运算符、控制语句
    • 面向对象
    • 数据结构:类、结构体、属性、方法、附属脚本、类型嵌套、扩展、协议、范型
    • 算法:构造及析构过程

swif语言简介

swif语言体系形成了铁人三项模式,即软件+硬件+网络构成的智能设备,google和apple一样在建立一个智能设备的开放标准,对未来市场的布局和竞争。OC有20年的历史了,已经过时了,swif是oc的完全替代,他们还互相兼容。

swif语言基础语法

面向过程

  • 数据结构

    • let name=”dadong”//定义常量

    • var newName=”dadong”//定义变量

    • var age:Double=30//定义指定数据类型的变量

    • 支持utf-8和unicode

    • var 小汽车="hello"
      
      小汽车="?"
      
      print(小汽车)//代码支持直接输出表情
      
    • 多个变量叠加输出

    • print(“hello”+电视)

    • print(“hello(age)”)//不同类型变量叠加

    • 注释和java类似

    • 可以在一行写多个语句,一行有多句代码的时候必须使用分号

    • 等号两边的空格需一样

    • 数据类型强转不报错String转int

    var age2="we"
    var age : Int? = Int(age2)
    print(age)//输出显示nil,表示空值
    
    • 小数类型
    var pi:Double=3.1415
    var pii:Float=3.14
    print(Double(pii)+pi)
    
    • let a=0b0010//二进制

    • let b=0o1276//八进制

    • let c=0x12F//十六进制

    • 数据类型定义别名

    typealias st = String
    var s:st="字符串别名"
    print(s)
    
    • bool类型:var e:Bool=true

    • 元组

    var tus=("hello",12,23,11,"jj",true)
    print(tus.4)
    
    • 元组使用
    func getName()->(String,Int){
        return ("Hi Himi",123)
    }
    var tus2=getName()
    print(tus2.1)
    
    • var z:Character=”A”//字符
    var z:Character="A"
    var g="sasa"
    print(g+"\(z)")//字符和字符串拼接
    //遍历字符串
    for character in g{
        print(character)
    }
    
    • 数据类型CollectionType

    • 数组

      • 数组定义
      var myList=["Hello","Test","demo"]
      var myList2:[Int] = [1,2,3]
      
      • 数组访问
      myList[0]="hello word"
      print(myList.count)
      print(myList.append("ceshi"))
      myList.insert("123", at: 2)
      print(myList.isEmpty)
      
      • 数组遍历
      for value in myList{
          print(value)
      }
      
    • 字典

      var myHash:Dictionary<String,String>=["key1":"value1","key2":"value2","key3":"value3"]//定义
      print(myHash["key2"])//打印
      myHash.updateValue("value22", forKey: "key2")//更新
      myHash.removeValue(forKey: "key2")//删除
      //遍历
      for value in myHash.values{
        print(value)
      }
      
    • 枚举

      enum Sex{
        case Male
        case Female
      }
      
      var daddongSex=Sex.Male
      daddongSex = .Female
      print(daddongSex)
      
      enum name {
        case China(Int,Int)
        case Japan(String)
      }
      var myCountory = name.China(1, 2)
      print(myCountory)
      
  • 算法:

    • 基本运算

    • 加减乘除取余等赋值运算

    let age:Int=5
    let age2:Int=23
    let age3 = age*age2
    
    • 比较运算符
    if(age3>=age2){
    }
    if(age != age2){
        print(age2)
    }
    //三元运算符
    let count = (age2<age3) ? age2 : age3
    print(count)
    
    • 逻辑运算符
    if(!(a<b)&&a!=0)
    
    • 控制流

    • 循环

      //for循环
      var friends = ["Leo","Amey","Tony"]
      for friend in friends{
        print(friend)
      }
      //while循环
      var j=1,k=5
      while (k>j) {
        print(j)
        j+=j
      }
      //repeat-while循环
      repeat {
        print(j)
        j+=j
      }while(k>j)
      
    • 条件语句

      if(k>j){}else{}//if else判断语句
      //switch语句
      switch(k){
      case 1:
        print(1)
        break//swif语言默认有break
      case 2:
        print(2)
        break
      default:
            print("nothing")
        break
      }
      

面向对象

  • 数据结构

    • 类:在swif中多个类可以写在一个文件中
    class TV{
        var keyCount="12"
        var keyName="Power"
        func openTV() -> String {
            return "success"
        }
    }
    var miTv = TV()
    print(miTv.keyName)
    miTv.keyName="Qiuck"
    print(miTv.keyName)//类是引用类型
    
    • 结构体
    struct TV {
        var keyName = "Albert"
        var keyNumber = 12
        func getKeyNumber() -> Int {
            return keyNumber
        }
    }
    //var myTv=TV()
    var myTv=TV(keyName: "Power", keyNumber: 24)//有自带构造函数
    print(myTv.getKeyNumber())
    
    • 结构体和类的异同

    • 相同点

      1. 都有内部变量和函数
      2. 都可以有内部下标方式去取属性
      3. 都可以有初始化函数
      4. 都可以用协议
    • 不同点

      1. 类有继承,结构体没有
      2. 类可以多重引用,结构体不行
      3. 类有析构

    复杂的对象使用类,简单对象可以用结构体

    • 协议类似java中的接口
    class  BaseClass {
    
    }
    protocol Action {
        var myName:String {
            get set
        }
        var myAge :Int {
            get
        }
        func getName() -> String
    }
    protocol ChildAction:Action {
    
    }
    //继承基类并实现多个或一个协议时需要先写基类
    class InvokeAction: BaseClass,Action,ChildAction {
        var m_name=""
        var myName: String {
            get{
                return "Wangyu"
            }
            set{
                myName = newValue
            }
        }
        var myAge: Int {
            get{
                return 30
            }
        }
        func getName() -> String {
          return "Wangyu'name"
        }
    }
    var TestProtocol:Action = InvokeAction()
    print(TestProtocol.getName())
    
    
    • 范型
    //函数中使用范型
    func swapValue<T : Comparable>(a:inout T,  b:inout T){
        let temp=a
        a = b
        b = temp
    }
    var c = "hello"
    var d = "thanks"
    swapValue(a: &c, b: &d)
    print(c)
    //类使用范型
    class VStudy<T> {
        func getName(s:T){
            print(s)
        }
    }
    var VStusyClass=VStudy<Int>()
    VStusyClass.getName(s: 123)
    
  • 算法

    • 函数
    //函数定义
    func sayHello(userName:String,age:Int)->String{
        return "用户名: \(userName) 年龄: \(age)"
    }
    print(sayHello(userName: "zhangsanfeng", age: 20))
    //多返回值的函数
    func getName()->(name:String,age:Int){
        print("NoResult")
        return ("Tony",30)
    }
    print(getName().name)
    //可变参数
    func countPerson(users:String...){
        for user in users {
            print(user)
        }
    }
    countPerson(users: "keitty","womeo","Albert")
    //更改传递参数的值
    func changeName(name: inout String){
        name+="AAA"
    }
    changeName(name: &myName)
    //A函数调用B
    func addMoney(a:Int,b:Int) -> Int{
        return a+b
    }
    var getMoney = addMoney
    var num=getMoney(1,2)
    print(num)
    
    • 构造函数
    class TV{
        var name:String = "Xiaomi"
        init(name:String) {
            self.name=name
        }
        func openTV() -> String {
            return "success"
        }
    }
    var miTv = TV(name: "Leshi")
    print(miTv.name)
    //析构函数
     deinit {
            name = ""
        }
    //继承
    class MITV:TV{
        //实现父类的构造方法
         override init(name: String) {
            super.init(name: name)
            super.name="Geli"
        }
        //重写父类变量
        override var name: String{
            get {
                return self.name
            }
            set {
                if(self.name=="dadong"){
                    super.name="hello dadong'mather"
                }else{
                    super.name="hello"
                }
            }
        }
        //可以通过final关键词限制重写和继承
    }
    var myMiTv=MITV(name: "Changhong")
    print(myMiTv.name)//继承了属性
    print(myMiTv.openTV())//继承了方法
    

5332

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 没话写
    YKyli阅读 117评论 0 0
  • 前几天上专业课,老师做了一个调查。点名的同时,让每个同学说一下选这个专业的原因。你知道最多的答案是什么吗? 很多人...
    江厘阅读 514评论 5 15
  • 智能,额,这是一个被用烂的词,只要是物理属性的固体,经过改造现在基本都可以套上这个词。可能以后也不局限固体。 科技...
    风尚优道阅读 547评论 0 1
  • 当干涸的土地 遇到久违的热泪 心田才滋润起来 慢慢的抽出嫩枝 缓缓的发出新芽来 当沉寂的湖水 终于等到温柔之手 爱...
    潜水的鸟阅读 203评论 0 4