首頁 後端開發 php教程 尚學堂ios初級視訊資料分享

尚學堂ios初級視訊資料分享

Aug 25, 2017 pm 02:44 PM
分享 初級

《尚學堂ios初級視訊教程》是尚學堂關於Objective-C語言從基礎入門到高級精通的全套視頻教程,Objective-C是iOS開發的必備語言.課程會對Objective-C語言進行深入細緻的敘述,主要講解Objective-C基礎語法,物件導向程式設計思想、封裝(類別的聲明與實作、getter和setter方法、屬性)、記憶體管理、繼承、多態、分類、協定、block,NSNumber、字符串、陣列、字典、日期、文件管理、拷貝等。

尚學堂ios初級視訊資料分享

影片播放位址:http://www.php.cn/course/572.html

在開發IOS過程中的難點:

1. swift語言裡面的?和!問題

有幫助的網頁,網路上查了很多,各說紛雲,看得一頭霧水,還好一個網頁講得算是明白一點。

補充一點我個人的理解,swift語言看起來簡單優雅,其實裡面藏了很多玄機。之所以要用?和! ,目的是為了讓程式碼更明確,同時給編譯器更多線索,發現更多潛在錯誤。它是Apple發行的語言,很符合Apple的性格,它要你把事情弄清楚再寫程式碼,而不是把模糊的問題丟給編譯器來做決定。

2. table view的邏輯

由於iOS系統是不開源的,因此我們要實現表格功能必須安裝系統預定好的套路來走。有幾個關鍵點,第一個是它的2個代理,其中一個代理負責提供數據,所謂提供數據,就是2個最主要的接口函數,第一個是告訴系統表格有多少行,第二個就是告訴系統每一行裡面的資料是什麼內容。第二個會被多次調用,假設一個頁裡面有10行,那麼這個介面函數就會被調用10次。但不會超出一個頁面的次數,因為系統只會要求目前使用者看到的頁面的資料。假如表格的資料有100個,那麼它是透過不斷滾動的過程中丟棄舊的,填充新的資料這種方式來實現的。

這是關於view的一個代理,另外一個代理是關於controller的,就是當用戶點中表格的某一項時,程式要做些什麼,這裡面最常用的就是didSelected介面函數,開發者只需要在這裡面寫自己的實作程式碼即可。要注意不要寫到didDeselected裡面,這裡面的函式名稱很容易搞混,這個Deselected是某一項從選取變成不被選取時呼叫的介面。一開始我寫到這個裡面,總覺得哪裡不對,後來才發現。

使用customer類型的prototype時,如何存取裡面的label物件? tag的使用。

常見的表格例子,表格裡面的cell只有最多2個標籤,但我的專案要放入5個標籤,那麼如何在程式碼裡面操作這些標籤呢?由於介面是在IB裡面拉進去的,而cell裡面的標籤卻不能用ctrl drag的方式拉進程式碼裡面。後來看到一個例子是給每個標籤定一個tag值,然後在程式碼裡面用viewByTag

UILabel *name = [cell viewWithTag:TAG_NAME];  
    UILabel *singer = [cell viewWithTag:TAG_SINGER];  
    UILabel *code = [cell viewWithTag:TAG_CODE];  
    UILabel *lang = [cell viewWithTag:TAG_LANG];  
    UILabel *type = [cell viewWithTag:TAG_TYPE];
登入後複製

透過這樣的方式就能取得到對於的label。

後來偶然的機會了解到,還是能透過直接的方式訪問,但麻煩一點,就是要先把cell用一個class定義好,然後在interface裡面手工建立好label的聲明,這個時候就可以storyboard裡面拉線到table view裡面了。

這個頁裡面討論了這個問題。

表格的配置不當,很容易導致app崩潰,而且經常會看到:

在這個地方崩潰:AppDelegate: UIResponder, UIApplicationDelegate 

debug顯示的資訊是:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationItem tableView:numberOfRowsdinsta.]: '-[UINavigationItem tableView:numberOfRowsdinsta0:]:   

這個原因其實是我在storyboard裡面看到table view的data source沒有關聯,就自己把資料關聯到table上面了。很多時候這種崩潰都說由於這個關聯的datasource不對,可以先斷開來試試。按照我的理解,因為這底層是看不到的,只能猜,就是它關聯了這個,就把另一個釋放了,從而有用的那個物件找不到,造成系統崩潰。這就是為什麼很多資深玩家不喜歡用stroyboard,因為不好掌控,有些隱藏的東西不容易發現。而用程式碼來實現介面的構造雖然麻煩一點,但勝在夠明白,寫成什麼樣子就是什麼樣子。而我現階段還是要依賴圖形的工具,我體會圖形的一點不好的地方就是2個項目的storyboard不可比較,曾經有些例子,完全按照教程來一步一步做,可是死活不對勁,但下載老師做好的專案又是正常的,比對程式碼也沒有差別,差別就在storyboard,可是storyboard裡面的差異非常大,根本看不出端倪,而且把對方的文件直接覆蓋自己的也錯誤百出。

總的來說,還是自己功夫不夠深。以後還要深入把基礎打好才行。

3. search bar的邏輯

以前的search bar和search display之類的物件是分開的,後來Apple提供了整合在一起的方案,而且還把搜索的演算法也封裝成對象,期望可以簡化開發者的工作。可是對於我這種開發者來說是相反。反而是最簡單的search bar更適合我,因為我只需要在searchbar的內容改變的時候執行一次查找,然後把表格刷新一次就行了。而如果呼叫那些捆綁的display controller,則需要實作更多的協議,而且還要提供一個輸出結果顯示的table view controller,真的搞得我頭暈。 Apple官方的資料裡面也提供了一個實作的例子,可是這個例子本身就很複雜,牽涉到多個view controller。

這個頁裡面提供的方式比較適合我。

這個是官方提供的例子,是Apple主導的做法,他們已經剪除了舊的那種做法,現在推薦使用ui search controller的方式,但是不太清楚這樣改的背景原因是什麼?感覺也沒有那麼好用。

4. 用IB來做介面還是用程式碼裡面實作?

用程式碼來設定控制項的大小有可能在適配不同的畫面時出現問題,暫時還沒有去研究auto resize的部分要怎麼做。

但用程式碼要做介面其實沒有想像中那麼難,其實只有把介面中的控制項當成物件來處理就可以了,創建對象,設定對象的熟悉,把對象add到view裡面,設定相關的delegate,然後就OK了。

課程主講老師郭崇智年輕有為,更符合年輕人的口味,講課比較輕鬆自然,讓我們聽起來也感覺到輕鬆,更加能夠聽的進去。

以上是尚學堂ios初級視訊資料分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

夸克網盤怎麼分享到百度網盤? 夸克網盤怎麼分享到百度網盤? Mar 14, 2024 pm 04:40 PM

  夸克網盤和百度網盤都是很便利的儲存工具,不少的用戶都在詢問這兩款軟體互通嗎?夸克網盤怎麼分享到百度網盤?下面就讓本站來為用戶們來仔細的介紹一下夸克網盤的文件怎麼保存到百度網盤方法吧。夸克網盤的文件怎麼保存到百度網盤方法1、想要知道怎麼把夸克網盤的文件轉到百度網盤,首先在夸克網盤上下載需要保存的文件,然後打開百度網盤客戶端後,選擇壓縮檔案要儲存的資料夾,雙擊開啟該資料夾。  2、開啟該資料夾後,點選視窗左上角區域的「上傳」。  3、在電腦中找到需要上傳的壓縮文件,點選選

網路易雲音樂怎麼分享到微信朋友圈_網易雲音樂分享到微信朋友圈教程 網路易雲音樂怎麼分享到微信朋友圈_網易雲音樂分享到微信朋友圈教程 Mar 25, 2024 am 11:41 AM

1.首先我們進入到網易雲音樂中,然後在軟體首頁介面中,點選進入到歌曲的播放介面中。 2.然後在歌曲播放介面中,找到右上方的分享功能按鈕,如下圖紅框所示位置,點擊選擇分享的管道;在分享管道中,點擊底部的「分享至」選項,然後選擇第一個“微信朋友圈”,即可將內容分享至微信朋友圈。

百度網盤怎麼分享文件給好友 百度網盤怎麼分享文件給好友 Mar 25, 2024 pm 06:52 PM

近期,百度網盤安卓客戶端迎來了全新的8.0.0版本,這個版本不僅帶來了許多變化,還增添了許多實用功能。其中,最引人注目的便是資料夾共享功能的增強。現在,使用者可以輕鬆邀請好友加入,共同分享工作與生活中的重要文件,實現更便利的協作與分享。那麼究竟該如何分享給好友自己需要分享的文件呢,下文中本站小編就會為大家帶來詳細內容介紹,希望能幫助大家! 1)開啟百度雲APP,先點選在首頁選擇相關的資料夾,再點選介面右上角的【...】圖示;(如下圖)2)接著點選「共用成員」一欄中的【+ 】,最後在勾選所

win7企業版啟動金鑰有哪些的分享 win7企業版啟動金鑰有哪些的分享 Jul 09, 2023 pm 03:01 PM

win7企業版啟動金鑰有沒有最新的?如果你安裝的是官方win7企業版,會提示用windows7企業版產品金鑰來激活,否則不能正常使用。所以小編接下來跟大家分享一些win7企業版啟動密碼,大家一起來看看吧。 Q3VMJ-TMJ3M-99RF9-CVPJ3-Q7VF3KGMPT-GQ6XF-DM3VM-HW6PR-DX9G8MT39G-9HYXX-J3V3Q-RPXJB-RQ6D79JBBV-7Q7P7-CTDB7-KYBKG-X8HHCP72QK-2Y3B8-YDHDV-29DQB-QKWWM6JQ

芒果tv會員帳號分享2023 芒果tv會員帳號分享2023 Feb 07, 2024 pm 02:27 PM

芒果TV擁有各種類型的電影、電視劇、綜藝等資源,用戶可以在其中自由的選擇觀看。芒果tv會員不僅能夠看到全部的VIP劇而且還能夠設定最高清的畫質,幫助用戶爽快看劇,下面小編就給大家帶來一些芒果tv免費的會員帳號供用戶們使用,趕緊來看一看吧。芒果tv最新會員帳號免費分享2023:注意:都是收集的最新會員帳號,可以直接登入使用,不要隨意的修改密碼。帳號:13842025699密碼:qds373帳號:15804882888密碼:evr6982帳號:13330925667密碼:jgqae帳號:1703

解決Discuz微信分享無法顯示的問題 解決Discuz微信分享無法顯示的問題 Mar 09, 2024 pm 03:39 PM

標題:解決Discuz微信分享無法顯示的問題,需要具體程式碼範例隨著行動網路的發展,微信成為了人們日常生活中不可或缺的一部分。在網站開發中,為了提升使用者體驗和擴大網站的曝光度,許多網站會整合微信分享功能,讓使用者能夠輕鬆分享網站的內容到朋友圈或微信群組。然而,有時在使用Discuz等開源論壇系統時,會遇到微信分享無法顯示的問題,這給使用者體驗帶來了一定的困

win7系統如何分享wifi熱點 win7系統如何分享wifi熱點 Jul 01, 2023 pm 01:53 PM

  win7系統如何分享wifi熱點?我們電腦連接了網路之後,也是可以進行無線網路的分享的。很多用戶想要將自己電腦的網路分享到手機上來使用。很多朋友都不知道怎麼詳細操作,小編下面整理了win7系統如何分享wifi熱點的操作方法步驟,如果你有興趣的話,跟著小編一起往下看看吧!  win7系統如何分享wifi熱點的操作方法步驟  1、要想開啟wifi熱點,首先得要有無線網卡,筆記本是有自帶的,pc的話可以購買一個隨身wifi來分享wifi,這裡就不敘述了。先按下鍵盤上的windows鍵開啟開始菜

分享惠普印表機驅動的兩種安裝方法 分享惠普印表機驅動的兩種安裝方法 Mar 13, 2024 pm 05:16 PM

  惠普印表機是許多辦公室內必備的列印設備,在電腦上安裝印表機驅動,可以完美解決印表機無法連線等等問題。那麼惠普印表機驅動程式要怎麼安裝?下面小編就跟大家介紹兩個惠普印表機驅動程式安裝方法。  第一種方法:官網下載驅動  1、在搜尋引擎中搜尋惠普中國官網,在支援一欄中,選擇【軟體與驅動程式】。  2、選擇【印表機】分類,在搜尋框中輸入你的印表機型號,點選【提交】,即可查找到你的印表機驅動程式。  3、根據你電腦的系統選擇對應的印表機,win10即選擇win10系統的驅動程式。  4、下載成功後,在資料夾中找到

See all articles