記錄Swift學習

  • Playground是什么?從Xcode6開始出現(xiàn)(Swift開始出現(xiàn))

  • 翻譯為:操場/游樂場

  • 對于學習Swift基本語法非常方便所見即所得(快速查看結(jié)果)

  • 語法特性發(fā)生改變時,可以快速查看.

  • Swift最基本的語法變化導入框架 import UIKit
    定義標識符時崎弃,必須聲明該標識符是變量還是常量聲明標識符的格式:變量/常量關鍵字 名稱 : 數(shù)據(jù)類型

  • 語句結(jié)束時不需要加;如果同一行有多個語句,則依然需要加
    但是不建議一行多條語句

Swift中的打印語句:print(打印的內(nèi)容)

  • 常量和變量的使用
// 導入頭文件直接導入
import UIKit
let a : Int = 10
// a = 20 錯誤寫法, let 修飾的是常量是不能被修改的

// 通過var 修飾的才可以修改
var b : Int = 10
b = 20
  • 常量和變量的使用注意
  • 指向?qū)ο蟮牟豢梢栽傩薷?但是可以通過指針獲得對象后, 修改的對象內(nèi)部屬性
// Swift中不再需要 * 
var view : UIView = UIView()
view = UIView()

let view1 : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view1.backgroundColor = UIColor.redColor()

// 枚舉類型的用法:類型.枚舉的值
// let : 常量修飾 btn : 名稱 UIButton類型
let btn : UIButton = UIButton(type: UIButtonType.Custom)
btn.backgroundColor = UIColor.blueColor()btn.setTitle("按鈕", forState: UIControlState.Normal)
btn.frame = CGRect(x: 20, y: 20, width: 60, height: 30)
view1.addSubview(btn)

Swift中的類型推導

  • Swift是強類型語言
  • Swift中任何標示符都有明確的類型
  • 如果定義標示符時又直接的進行賦值,那么標示符后面的類型可以省略
  • 因為Swift中有類型推導,會自動根據(jù)后面的賦值來決定前面的標示符的數(shù)據(jù)類型.

Swift中的基本運算

  • 在Swift中進行計算必須保持數(shù)據(jù)類型的一致, 不然會出錯.

  • 相同類型才可以進行運算

  • 因為Swift中沒有隱式轉(zhuǎn)換

  • 數(shù)據(jù)類型的轉(zhuǎn)換

  • Int 類型轉(zhuǎn)換為 Double類型 : Double(標示符)

  • Double 類型轉(zhuǎn)換為Int類型 : Int(標示符)

邏輯分支

  • 與OC的區(qū)別:
  • Swift中沒有( )
  • Swift中必須明確真假,沒有非0既真的概念
  • 必須有明確的BOOL值: false \ true
// 錯誤寫法
let a = 10
if a {
print("a")
}

// 正確寫法
let a = 10
if a > 9 {
print("a")
}

// 這個是可選類型,只有判斷為可選類型后才可以判斷真假
let view : UIView? = UIView()
if view != nil {
view.backgroundColor = UIColor.redColor()
}

guard的使用

  • guard是Swift2.0新增的語法,它與if語句非常類似只嚣,它設計的目的是提高程序的可讀性
  • guard語句必須帶有else語句澜共,它的語法如下:
    當條件表達式為true時候跳過else語句中的內(nèi)容贝次,執(zhí)行語句組內(nèi)容
  • 條件表達式為false時候執(zhí)行else語句中的內(nèi)容岖赋,跳轉(zhuǎn)語句一般是return、break英妓、continue和throw
var age = 18
func online(age : Int) -> Void {  // func類似C的函數(shù)
guard age >= 18 else { 
print("回家去") return
 } 
print("可以上網(wǎng)")}
online(age)

for循環(huán)的寫法

// 傳統(tǒng)寫法
for var i = 0; i < 10; i++ {
print(i)
}
// 區(qū)間for循環(huán)
for i in 0..<10 {
print(i)
}
// 特殊寫法: 如果在for循環(huán)中不需要用到下標 i 
for _ in 0..<10 {
print ("hello")
}

字符串

  • 在OC中字符串用NSString,在Swift中字符串類型是String
  • OC中字符串@" ", Swift中字符串用 " " 表示
  • 使用String的原因
  • String 是一個結(jié)構(gòu)體, 性能更高
  • NSString 是一個OC對象, 性能略差
  • String 支持直接遍歷
  • Swift 支持String 和 NSSting 間的無縫轉(zhuǎn)換
// 字符串遍歷
var str = "Hello, Swift"
for c in str.characters { 
print(c)
}

// 兩個字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2

// 字符串和其他數(shù)據(jù)類型的拼接
let name = "why"
let age = 18
let info = "my name is \(name), age is \(age)"

// 字符串的格式化比如時間:03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", arguments: [min, second])
  • 字符串的截取
    • Swift中提供了特殊的截取方式該方式非常麻煩
    • 簡單的方式是將String轉(zhuǎn)成NSString來使用在標識符后加:as NSString即可
let myStr = "www.520it.com"
var subStr = (myStr as NSString).substringFromIndex(4)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丐膝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子淫半,更是在濱河造成了極大的恐慌盘寡,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撮慨,死亡現(xiàn)場離奇詭異竿痰,居然都是意外死亡,警方通過查閱死者的電腦和手機砌溺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門影涉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人规伐,你說我怎么就攤上這事蟹倾。” “怎么了猖闪?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵鲜棠,是天一觀的道長。 經(jīng)常有香客問我培慌,道長豁陆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任吵护,我火速辦了婚禮盒音,結(jié)果婚禮上表鳍,老公的妹妹穿的比我還像新娘。我一直安慰自己祥诽,他們只是感情好譬圣,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著雄坪,像睡著了一般厘熟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上维哈,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天绳姨,我揣著相機與錄音,去河邊找鬼笨农。 笑死,一個胖子當著我的面吹牛帖渠,可吹牛的內(nèi)容都是我干的谒亦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼空郊,長吁一口氣:“原來是場噩夢啊……” “哼份招!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起狞甚,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锁摔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后哼审,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谐腰,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年涩盾,在試婚紗的時候發(fā)現(xiàn)自己被綠了十气。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡春霍,死狀恐怖砸西,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情址儒,我是刑警寧澤芹枷,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站莲趣,受9級特大地震影響鸳慈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜喧伞,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一蝶涩、第九天 我趴在偏房一處隱蔽的房頂上張望理朋。 院中可真熱鬧,春花似錦绿聘、人聲如沸嗽上。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兽愤。三九已至,卻和暖如春挪圾,著一層夾襖步出監(jiān)牢的瞬間浅萧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工哲思, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留洼畅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓棚赔,卻偏偏與公主長得像帝簇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子靠益,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

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