iOS - swift

Swift中沒有.h .m文件

Swift中.swift文件聲明實現(xiàn)不在創(chuàng)建

導(dǎo)入類名:不需要再導(dǎo)入類名所有類名都是分開的可以直接訪問到

導(dǎo)入框架:直接導(dǎo)入框架名如:importUIKit

OC程序入口是main函數(shù)

Swift代碼是從上往下順序執(zhí)行@UIApplicationMain程序的主入口

class:用來聲明類

實例:class

AppDelegate: UIResponder ->class類名:父類

導(dǎo)入代理協(xié)議名字:在父類后面繼續(xù)添加逗號寫上代理柬焕、協(xié)議名字

Swift聲明變量:varwindow:UIWindow?

Swift聲明方法:func用來表示方法

----------------------------

變量、常量的聲明:

var聲明變量

let聲明常量不允許改變

OC:數(shù)據(jù)類型名字=值

Swift:

var名字:數(shù)據(jù)類型=值

let名字:數(shù)據(jù)類型=值

Swift里面語句結(jié)束可以不寫分號但是如果一行有多條語句必須添加分號

Swift也支持中文作為變量名

字符串可以直接通過+拼接

如果聲明的對象是變量但是并沒有去改變這個變量的值系統(tǒng)會提示可以聲明成常量

Xcode7.3后(swift2.2) ++將在swift3中棄用改成+=

Swift自動推斷數(shù)據(jù)類型如果沒有告訴變量的數(shù)據(jù)類型會自動推斷數(shù)據(jù)類型

Swift不同的數(shù)據(jù)類型不允許計算

數(shù)據(jù)類型轉(zhuǎn)換:數(shù)據(jù)類型(要轉(zhuǎn)換的變量)

如果聲明變量的時候不想在聲明的時候去賦值必須添上變量的數(shù)據(jù)類型(沒有推斷的依據(jù)推斷不出數(shù)據(jù)類型)

--------------------------

Swift方法的定義和調(diào)用

func定義方法

func方法的名字()

OC:

- (void)viewDidLoad{

}

Swift:

func viewDidLoad()

oc:

- (void)viewDidAppear:(BOOL)animated{

}

Swift:

funcviewDidAppear(animated:Bool) {

}

---------------------

Swift中調(diào)用其他類的方法用.來調(diào)用

區(qū)間

全閉合區(qū)間區(qū)間

半閉合區(qū)間

12345

全閉合區(qū)間1...5

1234(5)

半閉合區(qū)間1..5

在swift中提倡用區(qū)間

--------------------------

函數(shù)

{}范圍

func函數(shù)名(){}

class類名:父類{}

var變量名=值

let常量名=值

調(diào)用別的方法通過.調(diào)用

color.redColor()

小括號代表是一個方法

--------------------------

可選類型(可空類型):

swift數(shù)據(jù)類型是非常嚴(yán)謹(jǐn)?shù)模Z法不嚴(yán)謹(jǐn)(英文、中文)在實際工作的時候,有可能會把一個空值賦給一個變量

swift不支持不同數(shù)據(jù)類型賦值

故swift出來一個解決辦法--->可選類型(可空類型)

可選類型的符號:

?表示聲明的是一個可選類型檬洞,它也是一種數(shù)據(jù)類型

!表示拆包把可選類型轉(zhuǎn)換成原有數(shù)據(jù)類型

拆包:轉(zhuǎn)換成原有數(shù)據(jù)類型

Optional(傻狗)->傻狗

隱式拆包:可選類型變量后!->let

name1:NSString! = name;

顯式拆包:name!

聲明:

var變量名:數(shù)據(jù)類型?

var

window: UIWindow?

----------------------------

as作為煞茫、明確數(shù)據(jù)類型->使用(1效五、跟其他數(shù)據(jù)類型計算《兩者是包含關(guān)系》2黎茎、需要把子類轉(zhuǎn)換成父類的時候)

as ->明確數(shù)據(jù)類型->在使用的時候

as->子類轉(zhuǎn)父類(明確子類是父類)

NSString是一個類->結(jié)構(gòu)體string

***不同數(shù)據(jù)類型之間轉(zhuǎn)換必須有支持?jǐn)?shù)據(jù)類型的轉(zhuǎn)換方法才可以轉(zhuǎn)換

***如果是自類轉(zhuǎn)父類可以直接賦值

is判斷是不是某個數(shù)據(jù)類型某一數(shù)據(jù)類型(類名)

swift字符串判斷==是否相同

插入字符串"XXX\(插入的內(nèi)容)"

-----------------------------

枚舉:

變化:不止可以把數(shù)字當(dāng)做枚舉,同時還可以把字符串當(dāng)做枚舉值当悔,還可以把幾個內(nèi)容放在一個枚舉值里面

變化:元素之前使用case表示

在使用的時候枚舉的名字.元素傅瞻、.元素

rawValue枚舉里面的值

聲明枚舉的公式:

第一種、

enum枚舉名字:Int{

case元素

case元素

case元素

}

第二種盲憎、

enum枚舉名字:Int{

case元素,元素,元素

}


元組:tuple

1.可以存放不同數(shù)據(jù)類型的元素

2.取值方式

1.可以使用下標(biāo)取值嗅骄,也是從零開始

2.通過key取值(必須定義)

公式:1. (1,"mm",對象)通過下標(biāo)

2. (key:值,key:值)通過key,可以取到不同類型的值key不需要引號

閉包:

封閉的代碼塊也可以把函數(shù)當(dāng)成一個閉包

let閉包名字= {(參數(shù)列表) ->返回值類型in

具體執(zhí)行的代碼

如果有返回值饼疙,就return返回值

}

in前面是聲明后面是實現(xiàn)in后面進(jìn)入代碼塊

swift:

數(shù)組字典:[]

元組:()

oc:

數(shù)組:[]

字典:{}

1.完整公式

{(參數(shù)列表)->返回值類型in實現(xiàn)代碼}

如:let block

= {(a:Int, b:Int)->Intinreturna +

b}

2.簡化版:無參數(shù)無返回值公式

{實現(xiàn)代碼}

如:let block = {}

3.簡化版:有參數(shù)無返回值公式

{(參數(shù)列表)in實現(xiàn)代碼}

如:let block

= {(a:Int)inprint(a)}

4.調(diào)用

閉包名()

如:block()

1.聲明包含閉包的方法

func方法名(閉包名:(參數(shù)列表)->返回值類型){閉包名(實參列表)}

如:func

loadData(respose:(message:NSString)-Void){respose(message:"完成")}

2.調(diào)用包含閉包的方法

方法名{(參數(shù)列表)in實現(xiàn)代碼}

如:loadData{(message:NSString)inprint(message)}

三:typealias替代

typealias要替代成的名字=要替代的數(shù)據(jù)類型

如:typealias

Height =Float

結(jié)構(gòu)體

1.增加方法(可以調(diào)用方法也可以添加方法)

2.增加實例化方法

調(diào)用

使用實例化方法

結(jié)構(gòu)體

1.改變

《1》自動生成實例化方法

《2》可以在結(jié)構(gòu)體中創(chuàng)建方法

《3》可以在結(jié)構(gòu)體中調(diào)用方法

2.公式

聲明:

struct結(jié)構(gòu)體名{

let(var)變量?

func(){}

}

如果方法改變結(jié)構(gòu)體中的值需要在方法前面加上mutabing

使用:

let(var)變量名=結(jié)構(gòu)體名.init()

let(var)變量名=結(jié)構(gòu)體名.init(實參)

3.與類的區(qū)別

1.結(jié)構(gòu)體偏向于處理數(shù)據(jù)

2.類偏向于處理邏輯溺森、關(guān)系

3.類中的對象有對象的特征:封裝繼承多態(tài)

4.引用計數(shù)的處理結(jié)構(gòu)體有專門處理變量的引用計數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市窑眯,隨后出現(xiàn)的幾起案子屏积,更是在濱河造成了極大的恐慌,老刑警劉巖磅甩,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炊林,死亡現(xiàn)場離奇詭異,居然都是意外死亡卷要,警方通過查閱死者的電腦和手機(jī)渣聚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門独榴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奕枝,你說我怎么就攤上這事棺榔。” “怎么了隘道?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵症歇,是天一觀的道長。 經(jīng)常有香客問我薄声,道長当船,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任默辨,我火速辦了婚禮德频,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缩幸。我一直安慰自己壹置,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布表谊。 她就那樣靜靜地躺著钞护,像睡著了一般。 火紅的嫁衣襯著肌膚如雪爆办。 梳的紋絲不亂的頭發(fā)上难咕,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機(jī)與錄音距辆,去河邊找鬼余佃。 笑死,一個胖子當(dāng)著我的面吹牛跨算,可吹牛的內(nèi)容都是我干的爆土。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诸蚕,長吁一口氣:“原來是場噩夢啊……” “哼步势!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起背犯,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坏瘩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后漠魏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桑腮,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年蛉幸,在試婚紗的時候發(fā)現(xiàn)自己被綠了破讨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丛晦。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖提陶,靈堂內(nèi)的尸體忽然破棺而出烫沙,到底是詐尸還是另有隱情,我是刑警寧澤隙笆,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布锌蓄,位于F島的核電站,受9級特大地震影響撑柔,放射性物質(zhì)發(fā)生泄漏瘸爽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一铅忿、第九天 我趴在偏房一處隱蔽的房頂上張望剪决。 院中可真熱鬧,春花似錦檀训、人聲如沸柑潦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渗鬼。三九已至,卻和暖如春荧琼,著一層夾襖步出監(jiān)牢的瞬間譬胎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工命锄, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留堰乔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓累舷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親夹孔。 傳聞我的和親對象是個殘疾皇子被盈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容