美文网首页
Swift学习- 语法1

Swift学习- 语法1

作者: 快乐的tomato | 来源:发表于2021-08-25 13:41 被阅读0次

    swift和OC的语法还是有很大的不同的,OC转过来的还不太习惯。

    1、创建一个ViewController

    OC是一个.h 和.m文件

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    
    
    @end
    
    
    #import "ViewController.h"
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    }
    
    @end
    

    Swift就一个文件

    import UIKit
    
    class YuFaStudyViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
        }
    }
    

    2、定义变量let、var和自动推导

    • let:定义一个常量,一旦设置数值,不允许修改
    • var:定义变量,可以修改
    • 如何选择:尽量用let,必须要修改的时候,再用Var,程序更安全
    • 自动推导:会根据右侧设置的数值,推断常量、变量
      在swift中,不会做隐式转换,即不同类型的变量不能直接相加减,swift是一个类型要求很严格的语言
    • 句子后面不用带分号
            //let是int  64位 long
            let a = 10
            //let是double  双精度的小数
            let b = 1.5
            
            var num = 1.4
            num = 1.7
            print(num)
            
            let c = a + Int(b)
            let n = Double(a) + b
            
             print(c)
            print(n)
            
            //创建一个view
            let viewOne = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
            viewOne.backgroundColor = UIColor.red
            view.addSubview(viewOne)//句子后面不用带分号
    

    3、可选项

    let x :Double = 1.5 //定义 一个为Double类型的x变量
    let x :Double ?= 1.5 //定义 一个为Double类型的x变量,x可以是一个Double型,也可以是nil, 如果是变量,默认为nil
    let x :Double != 1.5 //定义 一个为Double类型的x变量,程序员承诺y一定有值,如果没有值,就会崩掉

       //  ?   可选项:一个变量,可以为本身的类型,也可以为nil
        func demo1(){
            
            //定义变量、常量,如果需要指定 那么就是  类型 :类型的方式指定准确的变量
            let x :Double = 1.5  //定义 一个为Double类型的x变量
            let x :Double ?= 1.5  //定义 一个为Double类型的x变量,x可以是一个Double型,也可以是nil, 如果是变量,默认为nil
            let x :Double != 1.5  //定义 一个为Double类型的x变量,程序员承诺y一定有值,如果没有值,就会崩掉
    
           
            print(x + 2.5)
            
            //可选项 使用?定义
            //y可以是一个整数/也可以是nil,如果是变量,默认为nil
            //可选项在输出的时候,会提示Option
    //        var y:Int = 10
            var y:Int?
    
            print(y)
            
            /*
             可选项不能直接计算
             !:强行解包:程序员承诺y一定有值,如果没有值,就会崩掉
             每次写 !都有考虑是不是有空值
            */
            print(y!+10)
            
            
            let urlstr = "http//www.kk.com";
            //构造函数如果有?,表示不一定能够创建出对象,
            //如果参数中没有?,表示必须有值,如果为nil,就崩
            let url = NSURL(string: urlstr)
            print(url)
            
       
    
        }
    

    4、if分支和三目

    /*
         1、if  条件后面没有小括号,必须有{}
         2、C语言中有一个非零即真,swift中只有false / true
         */
        func demo2(){
            
            let x = 20
            if x > 10 {
                
                print("大了")
    
            }else{
                
                print("小了")
            }
            
            //三目,在swift中用的很多
            x>10 ? print("大了"):print("小了")
            
        }
    

    5、if let 语法

    image.png

    6、guard

    image.png

    7、switch

    image.png

    8、可选项的默认值

    image.png

    9、字符串

    image.png
    //拼接字符串的方式
            let name = "张三"
            let age = 18
            print("\(name)  \(age)")
            
            //字符串的遍历
            let str = "我是中国人"
            for  c in str {
                print(c)
            }
    
            //返回字符串的字符数量
            print(str.count)
            
            //字符串的子串,取子串不是特别好写,建议使用NSString
            let s1 = (str as NSString).substring(with: NSMakeRange(1, 3))
            print(s1)
    

    10、数组

    image.png image.png image.png image.png image.png image.png image.png

    11、分割标志

    image.png

    12、字典

    image.png

    字典的遍历


    image.png

    字典的组合


    13、函数

    image.png image.png image.png image.png

    相关文章

      网友评论

          本文标题:Swift学习- 语法1

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