zoukankan      html  css  js  c++  java
  • swift的入门001

    //

    //  ViewController.swift

    //  003基本语法

    //

    //  Created by Ninesday on 16/6/20.

    //  Copyright © 2016年 Ninesday. All rights reserved.

    //

    import UIKit

    class ViewController: UIViewController {

        override func viewDidLoad() {

            super.viewDidLoad()

            // Do any additional setup after loading the view, typically from a nib.

            

            // if变化 没有了() 必须写上{}

            //没有了非nil即真  只有了false和true

            

            demo0()

            demo2()

            demo3()

            demo4()

            demo5()

            switchdemo()

            demo6()

            demo7()

            demo8()

            demo9()

            demo10()

            

        }

        override func didReceiveMemoryWarning() {

            super.didReceiveMemoryWarning()

            // Dispose of any resources that can be recreated.

        }

        func demo0() {

            let x = 2

            if x > 3 {

                print("小了")

            }else {

                print("打了")

            }

        }

        

    //    func demo1() {

    //        let a = 10

    //        if a > 5 print("fsd") ? print("ewqr")

    //    }

        func demo2() {

            let name:String? = "huzuyu"

            let age: Int? = 20

            if name != nil {

                print("woai" + name!)

                print("woai" + name! + String(age!))

                

            }

            if let name_2 = name,age_2 = age {

                print("HI" + name_2 + "(age_2)")

            }

            

        }

        func demo3() {

            let a  = 2

            a > 5 ? print("哈哈") : print("呵呵")

        }

        

        // if let 的作用 对一个变量设置数值 进入分支后保证一定有值 注意多个变量的if let的使用,不用 &&和|| 这样的话就省去了你使用那个 !

        func demo4() {

            let oName :String? = "A excellent man"

            let oAge :Int? = 24

            if oName != nil && oAge != nil {

                //如何把数值转化为字符串

                print("I will become" + oName! + "------" + String(oAge!))

            }

            

            if let name = oName, age = oAge {

                print("Hi" + "I will coming" + name + "------" + String(age))

            }

        }

        

        //guard和if let是一种相反的指令

        //guard 可以让嵌套可以少一层 少做了一层判断  而if let 的处理都是把代码放在内部处理的

        func demo5()  {

            let oName : String? = "A good  Boy"

            let oAge : Int? = 24

            

            guard let name = oName  else {

                print("name的值为nil")

                return

            }

            

            guard let  age = oAge else {

                print("age == nil")

                return

            }

            print("huzyu (name)(age)")

        }

        

        //控制流

        //OC中switch OC中的switch(number) 只能为证整数

        //还有  对于OC中一个特俗的问题的就你必须要给他加上一个{}对于超过2行的和定义了变量的

        //避免case的穿透

        

        //swift中 可以不需要break 和 不要局限在Int分支可以对任意的代码

        //还有一个可以不用case穿透

    // 必须涵盖所有的条件,每一个case必须含有含有一个语句  不能空

        func switchdemo()  {

            let  number  = "8"

            

            switch number {

            case "10","11": print("优秀")

            case  "9": print("还不错")

            case "8" :

                let name = "huzuyu"

                print("(name)")

            default :

                print("差")

            }

        }

        

        //可选项的替换 ??可以判断的Var 变是否为nil 

        //注意一个问题 ??会让之后的替换掉之前的变量   如果没有给这个变量加上括号的话在有值的时候就不会用后面替换

        //??最开始的映入就是去了省去!

        //??的优先级低

        // var 的可选项默认值为nil let的可选项默认没有初始值 需要初始化

        func demo6()  {

            var oName: String?//= "yangyan"

            print((oName ?? "") + "也好")

            print("------------")

            print(oName ?? "" + "也好")

        }

        

        

        

        //字符串 字符串的拼接 (变量名) 方式

        //swift里面的string 为结构体    OC中为继承NSOBJect的对象

        func  demo7() {

            let  name = "zhangshan"

            let  age = 19

            

            let center = view.center

            print("(name) (age) (center)")

        }

        

         //字符串的遍历 

        func demo8() {

         let  name = "hello word"

        

            for c in name.characters {

                print(c)

            }

        }

        

        func demo9() {

            let string = "你好世界"

            print(string.characters.count)

            print(string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))

            

        }

        //时间的打印

        func demo10() {

            let h = 10

            let m = 8

            let s = 8

        print("(h):(m):(s)")

            //怎么专业的表达   格式化字符串

        let dataString = String(format: "%02d:%02d:%02d", arguments: [h,m,s])

            print(dataString)

        

        let dataString2 = String(format: "%02d:%02d:%02d", h,m,s)

            print(dataString2)

        }

        

    }

  • 相关阅读:
    常用Js笔记,以后可能用得上
    基于Nop增删改查代码模板
    使用Layer Confirm弹窗没有点击确定按钮就执行了确定方法
    页面表单传值
    2018年5月2日 问题记录
    循环分页请求
    git删除commit方法和误删commit后的恢复方法
    git切换分支
    系统化的思考模式
    实践!实现纯前端下的音频剪辑处理
  • 原文地址:https://www.cnblogs.com/Ninesday/p/5606695.html
Copyright © 2011-2022 走看看