你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> AFNetWorking3.0 完成同步懇求

AFNetWorking3.0 完成同步懇求

編輯:IOS開發綜合

這裡講述的是swift 學習筆記[1]的相關引見,詳細代碼請看下文

最近在IMOOK(網站)上自學了下swift , 總結下swift絕對其他言語的不同之處 , 方便熟習其他言語的順序員,熟習swift言語的特性.

1. swift 的特別之處就是可以在原有的類上 , 運用 protocol (相似java接口) 取得泛型的作用 .

2. 經過extension可以擴展普通的class, struct, 也可以擴展protocol, 運用protocol類都擁有公共的擴展.

 1 protocol Readable { 
 2 
 3       var programLang:String
 4        
 5       var programeSourceUrl:String
 6 
 7       var maxExecuteSecounds:Long
 8 
 9 }
10 
11 protocol Execuable {
12      func execute() 
13 }
14 
15 
16 
17 class BrowserScript  : Readable {
18 
19           var progameLang:String = "js"
20           var programeSourceUrl:String = "http://xxxx.com/adfd.js"
21           var maxExecuteSecounds:Long=2023           init() {
24               println("browser script init")
25          }
26 
27 
28          execute
29 
30 }  
31 
32 extenstion BrowserScript:Executable {
33      execute() {
34         JavaCoreScript.run(programeSourceUrl);
35      }
36 }
37 
38 
39 //test:
40 
41 func executeTask<T:Executable>(executor:T) {
42     executor.execute();
43 }
44 
45 
46 executeTask(BrowserScript());  //不會報錯
47 
48 
49  

經過協議再不修正BrowserScript類定義文件的前提下, 為BrowserScript添加了execute的才能.extenstion 可以用在IOS內置,各種庫,自己編寫的恣意類,函數體,Enum,由於根本數據類型實踐是構造體,所以也可以extension功用.

在swift官方的完成中少量運用extension完成功用,swift是面向協議擴展的言語.

3. swift的問號

swift 問號相似 var card:String? ,有問號表示這個變量可以為空(nil),實踐也是Optional枚舉類型,有值時分用Optional.Some()包裝,運用時分需求解包,假如為nil實踐為Optional.None().

解包的辦法就是

 if let card = card {
     println("your card is ",card);
  }  

4. Int,Long,String,Dictionary,Array 其實都是構造體,struct.

構造體和類的區別就是,構造體傳值都是內存拷貝, 類援用普通都是援用.

5. weak 關鍵字.

weak 關鍵字表逞強援用, 就是擁有這個weak變量的對象不持有這個變量的援用.援用計數是內存回收的一種辦法,為0時零碎擔任回收內存,假如對象A包括屬性B強援用屬性,直接a=nil, B 不會回收. 假如屬性B設置為弱援用,自身設置屬性b, b的援用計數不增長. weak用在此屬性可以為空的狀況.

6.unowned 關鍵字.

unowned 相當於weak,不過這個屬性不能為空.屬性被設置為空,順序解體直接加入.所以很少用.

7. 函數/辦法.

7.1 辦法定義:

func method1(_ x1:Int,_ x2 :Int) ->Int {

      //do something 
}
var  sum = method1(1,2);

下面的參數中的下劃線是外參數名 ,地位在形參x1後面 ,假如是下劃線,表示調用時分不必寫外參稱號.假如是有名字,調用時分需求寫外參數名,參加第二個參數的下劃線交換成num2,調用時需求寫成:

 

var sum2 = method1(1,num2:2);

最後的->表示之後跟著的是前往值 ,前往值可以是一個值,也可以是函數(辦法).

辦法可以直接寫閉包(匿名函數) .

舉例: 學生報名到學校, 前往流程處置函數, 詳細就是執行了發送短信叫家長交學費. 前往的函數參數是家長的相關聯絡方式.

func add(student:Student,to school:School) ->(String)->{sendMsgToParentsFee($0);}

下面的前往值是最後那個參數是String類型,詳細執行是{}包括著的函數.外面的$0 表示參數中的第一個參數,多個參數順次累加表示.

調用 :

x.add(student:studentObj,to:schoolObj)

多多關注本站,我們將為您搜集更多的swift編程開發相關文章.

【AFNetWorking3.0 完成同步懇求】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved