简介 目录 评价 推荐
  • 阝可呆 2022-01-25

    学习或创建一个数据结构注重对增、删、改、查的学习

    创建一个数组:

           

    增:

    .append(添加内容): 依次为数组添加元素

    数组名 += [添加内容]: 即使只添加一个元素也需要[],因为参与运算的元素要是一致数据类型的


    .insert(添加的内容, atIndex: 索引):遇到索引就要注意索引越界问题


    删:

    .removeLast():删除数组最后一个元素

    .removeFirst():删除数组的第一个元素

    .removeAtIndex(索引值):删除特定(索引值对应)的数组元素

    .removeRange(索引范围):删除特定范围(索引范围对应的)的数组元素

    .removeAll():删除所有元素,该数组为空数组


    改:

    数组名[索引值] = [修改内容]:修改对应索引的内容

    数组名[索引范围] = [对应索引范围的修改内容]:修改对应索引范围的内容,注意索引范围的索引个数和修改内容数组的元素个数并不一致。

    0赞 · 0采集
  • 阝可呆 2022-01-25

    2. 数组的基本用法


    数组名.count: 数组元素个数


    数组名.isEmpty: 判断数组是否为空,返回是布尔类型


    通过索引值(数组下标)获取元素(数组从0开始索引,索引值为0的是第一个数组元素):

                                          数组名[索引值]

    注意:用数字索引会发生索引越界问题,需要开发者控制。


    数组名.first / .last: 取数组的第一个 / 最后一个元素, 返回的是可选型(有的数组不一定存在第一个或者最后一个元素)

    可选类型应用:空数组名.first 返回的是 nil 

    在实际使用.first的时候可以解包使用如:if let 变量名 = 数组名.first{ 使用到该数组第一个元素的语句 }(这样使用可在遇到空数组或者没有第一个元素的时候不会崩溃)


    let定义为常量时,数组不会变化(用户修改不了),可确定数组是否为空来确定是否可以强制解包,这里安全性是由开发人员来保障。


    逻辑判断最后一个元素:数组名[数组名.count - 1]


    数组名.minElement() / .maxElement(): 返回可选型 


    获取一定范围的子数组:

                      数组名[范围(eg:1..<4)]


    数组名.contains():验证返回这个数组是否存在某个元素,返回布尔类型


    数组名.indexOf():验证这个数组是否存在某个元素,但返回的是索引值


    for循环遍历数组获取数组元素、数组元素索引值(.enumerate())     

                        for 变量名 in 数组名 {对获取的数组元素进行操作}

                        for (索引变量名, 元素变量名) in 数组名.enumerate() {使用到索引值和元素的语句}

     数组名1 == 数组名2 :其他语言比较的是引用(也是地址吧),此语句不成立,swift比较的是值,故此语句成立。

    强调:数组是一个有序的数据集合(在比较的时候要特别注意)

    0赞 · 0采集
  • 阝可呆 2022-01-24

    二、容器类:数组(array)、 字典(dictionary)、 集合(set)


    1.数组 array

    • 声明初始化数组:[ , ]

    • 数组中各元素的元素类型必须是一致的

    • 显式声明初始化:变量名: [数据类型] = [元素1, 元素2,...] 

                        变量名: Array<数据类型> = [元素1, 元素2, ...]

    • 声明初始化空数组:变量名 = Array<数据类型>()

      • 非显式声明空数组:变量名 = [数据类型]()

    • 当在实际应用中,出现数组中的参数很多且初始值为0或者为某一相同值时,可以用如下方式声明初始化数组:                     

                      变量名 = [数据类型](count: 5, repetedValue: 0) 

                  变量名 = Array<数据类型>(count: 5, repetedValue: 0)

    • 注意:

      • 字符串数据类型和字符数据类型。" "默认为字符串数据类型,字符数据类型可定义数据类型为Character(字符类型数组需用对应的数据类型显式声明初始化)

      • 在swift中Array和NSArray虽然都是数组,但不是同一种东西。

    0赞 · 0采集
  • 慕田峪9376997 2020-04-02
    集合的高级使用
    截图
    0赞 · 0采集
  • LoveLYJ 2019-06-19
    数组初始化
    截图
    0赞 · 0采集
  • 敲开iOS 2019-02-05

    元组: 函数的返回值有多个需要考虑返回元组

    func finmaxAndMin( numbers:[int]) -> (max: Int, min: Int){

        return (30,0)

    }

    0赞 · 0采集
  • 敲开iOS 2019-02-05

    //隐式可选型 可为nil,可有值

    var numbers: [Int] = [1,2,3,4,5]

    var oneToFive = [1,3,4,2,5]

    var vowels : [String] = ["A","E","I","O","U"]


    vowels.count

    vowels.isEmpty

    vowels[1]

    vowels.first

    vowels.last

    vowels.min()

    vowels.max()

    vowels.index(of: "E")

    numbers.index(of: 3)

    numbers[2..<4]

    for (index,value) in vowels.enumerated(){

        print(value)

        print(index)

    }

    //swift数组是否相等 是判断值是否相等,有序的数据集合

    oneToFive == numbers


    0赞 · 0采集
  • 敲开iOS 2019-02-05

    //隐式可选型 可为nil,可有值

    class City{

        var cityName: String

       unowned var country: Country

        init(cityName: String, country: Country) {

            self.cityName = cityName

            self.country = country

        }

    }

    class Country {

        let countryName: String

        var capitalCity: City?

        init(countryName: String, capitalCity:String) {

            self.countryName = countryName

            self.capitalCity = City(cityName: capitalCity, country: self)

        }

        func showInfo(){

            print("this is \(countryName)")

            print("the capital is \(String(describing: capitalCity?.cityName))")

        }

    }

    let china = Country(countryName: "China", capitalCity: "beiJing")

    china.showInfo()


    0赞 · 0采集
  • 敲开iOS 2019-02-05

    var ageInput: String = "16"

    var age = Int(ageInput)//类型转换涉及到可选型

    if let age = age, age < 20{

        print("you are teenager\n")

    }


    0赞 · 0采集
  • 敲开iOS 2019-02-05


    swit 的三目运算符

    var errorMessage: String? = nil

            let message1 = errorMessage ?? "no Error"

            let message2 = errorMessage == nil ? "no error" : errorMessage


    截图
    0赞 · 0采集
  • 敲开iOS 2019-02-05

    可选型:swift的设计师不认为 nil null应该是某种类型(int)的特殊值,nil就是一种类型

    2.可选型必须依附其他类型

    var errorCode: String? = "404"

    var errorMessage: String? = "not found"

    if let errorCode = errorCode{

        "error code is " + errorCode

    }

    if let errorCode = errorCode, errorMessage = errorMessage, where errorCode == "404"{

    //通过where添加限制条件

    }

    0赞 · 0采集
  • qq_黄小林_0 2018-11-20

    errorMessage?.uppercased()

    "?" 尝试进行解包

    errorMessage!.uppercased()

    "!"强制进行解包

    0赞 · 0采集
  • 薛定谔的喵1024 2018-08-31

    默认都是传值,传引用用inout关键字

    截图
    0赞 · 0采集
  • 慕先生2926264 2018-08-03

    errormessage?.upercasString


    0赞 · 0采集
  • 慕先生2926264 2018-08-03

    let message =er ?? "not found"

    0赞 · 0采集
  • 慕工程3595346 2018-05-21

    04-2 可变长参数

    // 变长参数只能有一个

    // 变长参数不一定放在最后

    func mean( numbers: Double ... ) -> Double{

    // 将变长参数当做一个数组看待

        for number in numbers{


    0赞 · 0采集
  • qq_豌豆_8 2018-01-30
    大写的服
    1赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    闭包可以理解为一个匿名函数,所以 1.不需要函数名 2.不需要有外部参数名 3.闭包的声明最后要加in关键字 4.闭包使用{}包裹
    截图
    1赞 · 1采集
  • 后知后觉老着急了 2018-01-26
    当一个函数在其他地方无需复用时,可以使用此种函数嵌套
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    Swift中一个运算符号的本质就是一个函数 map遍历操作 filter过滤操作 reduce归纳操作?
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    高级函数可以把函数作为一个参数传入
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    函数类型变量的应用
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    函数变量,可以把一个函数当做变量
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    swift中数组是按值传递的,如果需要改变数组的值,需要按引用传递
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    inout按引用传值,穿如函数的的参数被改变后,在函数外也是被改变了 传值时需要加上&符号
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    『变长』参数类型,在类型后面加上... 表示参数的数量不固定
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    函数的参数可以设置默认值
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    使用下划线可以忽略参数名
    截图
    0赞 · 1采集
  • 后知后觉老着急了 2018-01-26
    函数的外部参数名 声明一个函数的参数式,可在前面加上外部参数名,调用的时候会显示
    截图
    0赞 · 0采集
  • 后知后觉老着急了 2018-01-26
    字典的4种初始化方式
    截图
    0赞 · 0采集
数据加载中...
开始学习 免费