斯坦福iOS7公開課11筆記及示範Demo&訪問HTTPS連結下載資料,斯坦福ios7

來源:互聯網
上載者:User

斯坦福iOS7公開課11筆記及示範Demo&訪問HTTPS連結下載資料,斯坦福ios7

    這一節主要介紹UITableView以及iPad,Demo為從Flicker下載圖片並顯示,但是實際過程中發現需要FQ並使用HTTPS串連,所以這次用了兩個Demo,一個是課程中的Demo,另一個是簡化的。

   最後調試過程中還找到Xcode中觀察變數的一個小技巧。

    一.UITableView

    UITableView是iOS中最常用的表視圖,通訊錄中的連絡人、手機設定裡的每一個選項都是表視圖中的一個儲存格cell,、微博每一條記錄其實也是一個cell,只不過是組成要素更多一些而已。

   (1)兩個重要的協議

          UITableViewDataSource和UITableViewDelegate是UITableView裡兩個重要的協議(可以把協議理解成介面),前者用來實現儲存格資料來源的控制,包括兩個必須實現的:指定儲存格cell數量以及分組數量,其他諸如刪除、移動等操作也是通過實現這個協議裡的方法來使用。

     

     

     UITableViewDelegate,這個協議提供使用者與UITableView互動操作的一系列方法,比如最常用的點擊儲存格的回應程式法。

         

   (2)cell的複用

      為了節約資源,iOS會對cell進行複用,單專屬一個地方存放移出螢幕的cell,當向上滑動UITableView時,如果隊列中有可複用的cell,就可以直接取出使用,需要注意的是,這裡的複用有一個限制條件,即cell的樣式都相同。

    二.iPad特有控制項

    iPad中有兩種常用UI控制項,快顯視窗UIPopoverController和目錄-內容群組控制項UISplitViewController,本次課程介紹了後者,UISplitViewController由兩個視圖組成,一個是目錄檢視master,一個是內容視圖detail,Demo就是通過master中使用UITableView顯示圖片名稱,點擊後在內容視圖detail裡載入對應圖片。

   這裡有兩點值得注意:

   (1)根據UISplitViewController為iPad專屬控制項直接判斷裝置是iPhone還是iPad,UISplitViewController預設0是master目錄檢視,1是detail內容視圖,使用UISplitViewController下,如果擷取不到內容視圖,裝置就是iPhone,反之iPad。

         

   (2)UISplitViewController協議裡提供了方法來解決橫豎屏時master視圖是否顯示的問題 ,需要注意的是,UISplitViewControllerDelegate很特殊,需要在viewDidLoad之前設定

      

     三.Demo過程問題總結

          Flicker目前被牆,所以需要FQ訪問,註冊申請API的key即可,驗證發現只能通過HTTPS訪問,所以對FilckerFetcher裡的地址都修改成HTTPS

       

      

      下載得到的資料一直為nil,報錯也是提示資料空,檢查發現,請求HTTPS串連時不能使用+dataWithContentsOfURL:這個方法,因為無法設定安全驗證相關,而請求HTTPS串連是必須對安全驗證進行設定的,否則請求失敗,所以得不到資料。

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

      這裡使用了NSURLConnection的委託方法,來使用戶端忽略認證驗證

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

           

     還有其它方法,沒有進行嘗試,這種方法據說是蘋果不允許的,提交應用時會有問題。

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

      還遇到一個問題就是擷取圖片資料時報錯,這是因為圖片接收不完全,現象圖片在螢幕上顯示一小部分立即消失,原因是之前只接受了部分資料就馬上轉化圖片,並通知主線程更新UI

      

     實際上應該資料接收完全後再做後續操作,因為資料可能需要多次才傳輸完全。

     同樣問題後來也出現在擷取圖片列表的json資料時(只是當時恰好資料一次就擷取完全過,沒注意處理)

     

     四.調試小技巧

     用滑鼠選中變數或者下方觀察變數都可以,但有時始終覺得不方便,斷點調試時可以在輸出視窗輸入“po 變數名”來觀察變數賦值情況

     

    Demo效果:

    目前完整版Demo點擊儲存格還有bug,歡迎解決後告知原因,若有更新也會及時補充。

    簡化版Demo下載    完整版Demo下載

        


iphone進入復原模式怎恢複韌體

先上網下載ios5.1.1韌體。然後在itunes裡邊選擇shift+恢複。
可能是你還沒恢複完,資料線就鬆了。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.