自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

斯坦福iOS7公開課11筆記及演示Demo&訪問HTTPS鏈接下載數(shù)據(jù)

移動(dòng)開發(fā) iOS
這一節(jié)主要介紹UITableView以及iPad,Demo為從Flicker下載圖片并顯示,但是實(shí)際過程中發(fā)現(xiàn)需要FQ并使用HTTPS連接,所以這次用了兩個(gè)Demo,一個(gè)是課程中的Demo,另一個(gè)是簡化的。最后調(diào)試過程中還找到Xcode中觀察變量的一個(gè)小技巧。

這一節(jié)主要介紹UITableView以及iPad,Demo為從Flicker下載圖片并顯示,但是實(shí)際過程中發(fā)現(xiàn)需要FQ并使用HTTPS連接,所以這次用了兩個(gè)Demo,一個(gè)是課程中的Demo,另一個(gè)是簡化的。

***調(diào)試過程中還找到Xcode中觀察變量的一個(gè)小技巧。

一.UITableView

 UITableView是iOS中最常用的表視圖,通訊錄中的聯(lián)系人、手機(jī)設(shè)置里的每一個(gè)選項(xiàng)都是表視圖中的一個(gè)單元格cell,微信、微博每一條記錄其實(shí)也是一個(gè)cell,只不過是組成要素更多一些而已。

1)兩個(gè)重要的協(xié)議

UITableViewDataSource和UITableViewDelegate是UITableView里兩個(gè)重要的協(xié)議(可以把協(xié)議理解成接口),前者用來實(shí)現(xiàn)單元格數(shù)據(jù)源的控制,包括兩個(gè)必須實(shí)現(xiàn)的:指定單元格cell數(shù)量以及分組數(shù)量,其他諸如刪除、移動(dòng)等操作也是通過實(shí)現(xiàn)這個(gè)協(xié)議里的方法來使用。

&;&; UITableViewDelegate,這個(gè)協(xié)議提供用戶與UITableView交互操作的一系列方法,比如最常用的點(diǎn)擊單元格的響應(yīng)方法

2)cell的復(fù)用

為了節(jié)約資源,iOS會(huì)對cell進(jìn)行復(fù)用,單獨(dú)有一個(gè)地方存放移出屏幕的cell,當(dāng)向上滑動(dòng)UITableView時(shí),如果隊(duì)列中有可復(fù)用的cell,就可以直接取出使用,需要注意的是,這里的復(fù)用有一個(gè)限制條件,即cell的樣式都相同。

二.iPad特有控件

 iPad中有兩種常用UI控件,彈出窗口UIPopoverController和目錄-內(nèi)容組合控件UISplitViewController,本次 課程介紹了后者,UISplitViewController由兩個(gè)視圖組成,一個(gè)是目錄視圖master,一個(gè)是內(nèi)容視圖detail,Demo就是通 過master中使用UITableView顯示圖片名稱,點(diǎn)擊后在內(nèi)容視圖detail里加載對應(yīng)圖片。

這里有兩點(diǎn)值得注意:

(1)根據(jù)UISplitViewController為iPad獨(dú)有控件直接判斷設(shè)備是iPhone還是 iPad,UISplitViewController默認(rèn)0是master目錄視圖,1是detail內(nèi)容視圖,使用 UISplitViewController下,如果獲取不到內(nèi)容視圖,設(shè)備就是iPhone,反之iPad。

(2)UISplitViewController協(xié)議里提供了方法來解決橫豎屏?xí)rmaster視圖是否顯示的問題 ,需要注意的是,UISplitViewControllerDelegate很特殊,需要在viewDidLoad之前設(shè)置

三.Demo過程問題總結(jié)

Flicker目前被墻,所以需要FQ訪問,注冊申請API的key即可,驗(yàn)證發(fā)現(xiàn)只能通過HTTPS訪問,所以對FilckerFetcher里的地址都修改成HTTPS

 下載得到的數(shù)據(jù)一直為nil,報(bào)錯(cuò)也是提示數(shù)據(jù)空,檢查發(fā)現(xiàn),請求HTTPS連接時(shí)不能使用+dataWithContentsOfURL:這個(gè)方法,因?yàn)闊o法設(shè)置安全驗(yàn)證相關(guān),而請求HTTPS連接是必須對安全驗(yàn)證進(jìn)行設(shè)置的,否則請求失敗,所以得不到數(shù)據(jù)。

;參考:http://stackoverflow.com/questions/14013307/datawithcontentsofurl-ios-https-self-signed-certificate

 這里使用了NSURLConnection的委托方法,來使客戶端忽略證書驗(yàn)證

參考:http://www.cnblogs.com/stan0714/archive/2012/03/21/2409872.html

還有其它方法,沒有進(jìn)行嘗試,這種方法據(jù)說是蘋果不允許的,提交應(yīng)用時(shí)會(huì)有問題。

http://stackoverflow.com/questions/19394628/cant-receive-json-request-via-https-due-to-untrusted-certificate

還遇到一個(gè)問題就是獲取圖片數(shù)據(jù)時(shí)報(bào)錯(cuò),這是因?yàn)閳D片接收不完全,現(xiàn)象圖片在屏幕上顯示一小部分立即消失,原因是之前只接受了部分?jǐn)?shù)據(jù)就馬上轉(zhuǎn)化圖片,并通知主線程更新UI

實(shí)際上應(yīng)該數(shù)據(jù)接收完全后再做后續(xù)操作,因?yàn)閿?shù)據(jù)可能需要多次才傳輸完全。

 同樣問題后來也出現(xiàn)在獲取圖片列表的json數(shù)據(jù)時(shí)(只是當(dāng)時(shí)恰好數(shù)據(jù)一次就獲取完全過,沒注意處理)

 四.調(diào)試小技巧

用鼠標(biāo)選中變量或者下方觀察變量都可以,但有時(shí)始終覺得不方便,斷點(diǎn)調(diào)試時(shí)可以在輸出窗口輸入“po 變量名”來觀察變量賦值情況

 目前完整版Demo點(diǎn)擊單元格還有bug,歡迎解決后告知原因,若有更新也會(huì)及時(shí)補(bǔ)充。

簡化版Demo下載  完整版Demo下載
本文鏈接:http://www.cnblogs.com/colinhou/p/3952799.html

責(zé)任編輯:chenqingxiang 來源: cnblogs
相關(guān)推薦

2025-04-27 08:40:00

OpenAI谷歌AI

2012-09-05 11:06:19

2019-03-24 12:11:47

AI 數(shù)據(jù)人工智能

2010-08-23 14:01:25

互聯(lián)網(wǎng)

2024-08-15 12:36:31

2014-08-05 16:14:51

騰訊創(chuàng)業(yè)吳曉波

2018-01-15 23:18:49

2021-02-02 12:17:05

人工智能算法技術(shù)

2009-05-19 09:06:41

Apple斯坦福iPhone

2013-01-31 09:45:14

斯坦福超級(jí)電腦百萬內(nèi)核

2012-03-21 21:38:27

蘋果

2019-12-16 14:33:01

AI人工智能斯坦福

2015-01-20 15:48:34

MDSA線下公開課app質(zhì)量

2024-09-26 10:23:46

2025-01-17 10:26:19

模型開發(fā)ChatGPT

2012-07-18 10:30:40

Hadoop培訓(xùn)

2015-01-20 13:37:18

2016-12-05 20:20:15

CTO訓(xùn)練營公開課
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)