亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 學習或創建一個數據結構注重對增、刪、改、查的學習

    創建一個數組:

    ? ? ? ?

    增:

    .append(添加內容): 依次為數組添加元素

    數組名 += [添加內容]: 即使只添加一個元素也需要[],因為參與運算的元素要是一致數據類型的


    .insert(添加的內容, atIndex: 索引):遇到索引就要注意索引越界問題


    刪:

    .removeLast():刪除數組最后一個元素

    .removeFirst():刪除數組的第一個元素

    .removeAtIndex(索引值):刪除特定(索引值對應)的數組元素

    .removeRange(索引范圍):刪除特定范圍(索引范圍對應的)的數組元素

    .removeAll():刪除所有元素,該數組為空數組


    改:

    數組名[索引值] = [修改內容]:修改對應索引的內容

    數組名[索引范圍] = [對應索引范圍的修改內容]:修改對應索引范圍的內容,注意索引范圍的索引個數和修改內容數組的元素個數并不一致。

    查看全部
  • 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比較的是值,故此語句成立。

    強調:數組是一個有序的數據集合(在比較的時候要特別注意)

    查看全部
  • 二、容器類:數組(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雖然都是數組,但不是同一種東西。

    查看全部
  • 集合的高級使用
    查看全部
  • 數組初始化
    查看全部
  • 元組: 函數的返回值有多個需要考慮返回元組

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

    ????return (30,0)

    }

    查看全部
  • //隱式可選型 可為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


    查看全部
  • //隱式可選型 可為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()


    查看全部
  • var ageInput: String = "16"

    var age = Int(ageInput)//類型轉換涉及到可選型

    if let age = age, age < 20{

    ? ? print("you are teenager\n")

    }


    查看全部

  • swit 的三目運算符

    var errorMessage: String? = nil

    ? ? ? ? let message1 = errorMessage ?? "no Error"

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


    查看全部
  • 可選型: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添加限制條件

    }

    查看全部
  • errorMessage?.uppercased()

    "?" 嘗試進行解包

    errorMessage!.uppercased()

    "!"強制進行解包

    查看全部
  • 默認都是傳值,傳引用用inout關鍵字

    查看全部
  • errormessage?.upercasString


    查看全部
  • let message =er ?? "not found"

    查看全部
  • 04-2?可變長參數

    // 變長參數只能有一個

    // 變長參數不一定放在最后

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

    // 將變長參數當做一個數組看待

    ? ? for number in numbers{


    查看全部
  • 大寫的服
    查看全部
首頁上一頁1234567下一頁尾頁

舉報

0/150
提交
取消
課程須知
本課程適合至少有一門編程語言基礎的同學用于學習Swift語言。也適合在學習使用swift進行iOS開發的過程中,遇到不清楚的swift語言問題隨時查詢。
老師告訴你能學到什么?
這是《玩兒轉swift2.0》系列課程的第二季。通過整個系列課程的學習,大家可以全面、深入地了解swift的語法與語言特性,理解swift的設計原則和理念,同時對面向對象、面向協議、面向函數等思想有一定的了解,對swift語言的掌握達到中等偏上的水平。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!