日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOSday01 连线和程序标识

發(fā)布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOSday01 连线和程序标识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

新建項目的常見屬性

storyboard文件的認(rèn)識

  • 用于保存軟件界面
    • 存儲一個或者多個軟件界面
      • 默認(rèn)會加載箭頭指向的界面
      • 程序啟動到底加載哪個Storyboard由配置文件決定

控制器

  • 什么是控制器:
    * 所有繼承于UIViewController的類都稱之為控制器
    • 控制器的作用:
      • 管理UI界面(負(fù)責(zé)管理UI界面的創(chuàng)建和一些事件的處理)
    • 控制器注意點
      • UI界面是可以和它與之對應(yīng)的控制器進行連線的
      • 可以通過連線的方式, 讓UI界面上的元素和控制器中的代碼產(chǎn)生一定的關(guān)系

如何給一個新建的UI界面指定控制器

  • IBAction
    • 可以作為方法的返回值類型, 只要方法的返回值類型是IBAction, 就可以和控制器與之對應(yīng)的界面連線
    • 只有繼承于UIControl的類才能與IBAction連線
  • IBAction幾種連線方式
    • 1.從"控制器"往"Storyboard"連線
    • 2.從"Storyboard"往"控制器"連線
    • 3.直接在"Storyboard"中往"Storyboard"上的界面頂部連線
    • 4.直接在"Storyboard"中往"Storyboard"上的層級結(jié)構(gòu)條連線
    • 5.不用先定義方法, 直接從"Storyboard"往"控制器"連線
  • IBAction連線的注意點:
    • 在Storyboard中拷貝元素的時候需要注意
      • 拷貝的同時會將以前的連線一起拷貝
      • 一個方法可以很多個控件關(guān)聯(lián)
      • 一個控件可以和很多方法進行連線
    • 如果將按鈕關(guān)聯(lián)的方法刪除, 運行之后會報一個經(jīng)典錯誤
    ### reason: '-[ViewController redBtnClick]: unrecognized selector sent to instance 0x7fb4aa618e50'
    • IBAction只能作為方法的返回值
      • IBAction相當(dāng)于void

IBOutlet

+ 可以用于修飾屬性 + 可以和任何繼承于UIView的控件進行連線
  • IBOutlet的幾種連線方式
    • 1.從"控制器"往"Storyboard"連線
    • 2.從"Storyboard"往"控制器"連線
    • 3.直接在"Storyboard"中往"Storyboard"上的界面頂部連線
    • 4.直接在"Storyboard"中往"Storyboard"上的工具條連線
    • 5.不用先定義屬性, 直接從"Storyboard"往"控制器"連線
  • IBOutlet注意點:
    • 1.一個控件可以關(guān)聯(lián)多個屬性
    • 2.一個屬性不可以關(guān)聯(lián)多個控件
    • 3.在進行屬性連線的時候, Xcode會自動幫我們進行類型檢測, 如果類型不匹配那么不能連線
    • 4.如果將屬性和控件連線之后又將屬性刪除了, 那么只要程序運行就會報一個經(jīng)典錯誤

    ### [<ViewController 0x7fe9d9f1a5d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key lable.'

  • IBOutlet和IBAction為什么以IB開頭
    • 因為以前的Xcode版本中Xcode和interface build分別是兩個工具, IB取自于interface build兩個單詞的首字母
  • 類擴展的作用
    • 為了保證類的封裝性, 一般情況下會將類屬性和方法的聲明寫到類擴展中

類擴展和分類的區(qū)別

  • 1.匿名分類沒有名字, 分類有名稱
  • 2.匿名分類不需要有對應(yīng)的實現(xiàn), 而分類需要有對應(yīng)的實現(xiàn)
  • 3.匿名分類可以聲明屬性, 也可以聲明方法, 分類只能聲明方法

UIView

  • 所有的控件最終都繼承自UIView
    • 蘋果將控件的共同屬性都抽取到父類UIView中
    • 每個控件都是個容器,能容納其他控件
      • 注意: 在storyboard中并不一定能夠給某些控件添加子控件, 但是在代碼中都是可以添加的
  • 每一個控制器(UIViewController)內(nèi)部都有個默認(rèn)的UIView屬性
    • 這個UIView就是當(dāng)前控制器對應(yīng)的界面的view
    • 控制器中管理的其他所有控件都是這個view的子控件(直接或者間接)

轉(zhuǎn)載于:https://www.cnblogs.com/daizeng3344/p/4684762.html

總結(jié)

以上是生活随笔為你收集整理的IOSday01 连线和程序标识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。