Swift與OC區(qū)別
語句結束不需要寫“;”換行即可(建議書寫)
int,float等類型變成了Int,Float首字母大寫了
Swift中新增與NString 用法基本一致的String
Swift中不在有“[""]”一般都是“.”調用
//定義標識符
//let(常量)/var(變量) 名稱 :類型 = 初始值
//定義常量
let count : Int = 10;
//定義變量
var value : Float = 10.1;
value = 11;//value的類型還是Float
//建議初始化都優(yōu)先使用let,如果是var類型定義為let會有提示
//Swift中創(chuàng)建的標識符如果不指定類型,會默認指定類型
//打臃北ぁ:
print(value)
//Swift中沒有隱式轉化,不會將整形自動轉成浮點型
let C = 23
let F = 32.23
//let CF = C + F 報錯
let CFOne = Double(C) + F
let CFTwo = C + Int(F)
//定義UI控件
let viewOne : UIView = UIView()
let viewTwo = UIView()
viewOne.backgroundColor = UIColor.red
// if的使用
// 1> if后面的()可以省略
// 2> 判斷句不再有非0即真.必須有明確的Bool值:true/false
// 3> 三目運算符沒有改變
let a = 10
if a > 10 {
print("a大于10")
}else if (a < 10){
print("a小于10")
}else{
print("a等于10")
}
//guard語句 與 if語句 正好相反 guard語句是false執(zhí)行 guard語句必須寫在方法里面
func betterA (str : String){
guard a > 10 else {
print("a大于10")
return
}
}
//Switch的使用
//let sex = 1.0
let sex = "男"
//同if一樣switch后面可以不加()
//case后面不需要break 如果希望case出現穿透度苔,在case語句后加fallthrough
//case后可以判斷 Float類型 字符串類型 判斷區(qū)間
switch sex {
case "男":
print("男");
fallthrough
case "女":
print("女");
default:
print("其他");
}
let score = 100
switch score {
case 0..<60:
print("不及格")
case 60..<80:
print("及格")
case 80..<90:
print("良好")
case 90...100:
print("優(yōu)秀")
default:
print("不應存在的分數")
}
//for循環(huán)沒有改變 while循環(huán)沒有改變
//do-while循環(huán) 變?yōu)?repeat-while循環(huán)
var b = 0
repeat{
b += 1
print(b)
} while b < 5
import UIKit
//--------------------------------字符串的使用--------------------------------
//1.定義字符串
let str = "CF hello world"
//2.遍歷字符串中字符
for s in str.characters
{
print(s)
}
//3.字符串拼接
let strOne = "CF"
let strTwo = "52 Swift"
let strCount = strOne + strTwo
print(strCount)
let age = 18
let name = "CF"
//拼接其他標識符的格式: \(標識符的名稱)
let people = "\(age) name"
print(people)
//格式化拼接字符串
let min = 3
let second = 18
let data = String(format: "%02d:%02d", min,second)
print(data)
//4.字符串的截取
let urlStr = "www.baidu.com"
let header = (urlStr as NSString).substring(to: 3)
let middle = (urlStr as NSString).substring(with: NSMakeRange(4, 5))
let footer = (urlStr as NSString).substring(from: 10)
//--------------------------------數組的使用--------------------------------
//不可變數組定義(let) 可變數組定義(var)
let array = ["one","two","three","4"]
var mutArray = Array<Any>()
//增加元素
mutArray.append("ONE")
mutArray.append("TWO")
mutArray.append("3")
//刪除元素
mutArray.remove(at: 1)
//修改元素
mutArray[1] = "THREE"
//查詢元素
mutArray[0]
//數組合并
let arrayOne = ["1","2","3"]
let arrayTwo = ["a","b","c"]
let arrayThree = arrayOne + arrayTwo
//遍歷數組
for i in 0..<arrayThree.count {
print(arrayThree[i])
}
for value in arrayThree {
print(value)
}
//--------------------------------字典的使用--------------------------------
// 注意:在swift中無論是數組還是字典都是使用[],但是如果[]中存放的是元素,編譯器會認為是一個數組.如果[]中存放的是鍵值對,編譯器會認為是一個字典
//不可變字典定義(let) 可變字典定義(var)
let dict = ["name":"CF","age":"20","height":"1.80"]
var mutDict = Dictionary<String, Any>()
//增加元素
mutDict["name"] = "CF"
mutDict["age"] = "20"
mutDict["height"] = "1.80"
//刪除元素
mutDict.removeValue(forKey: "age")
//修改元素
mutDict["height"] = 1.78
//查找元素
mutDict["name"]
//字典遍歷
//遍歷所有的key
for key in mutDict.keys {
print(key)
}
//遍歷所有的value
for value in mutDict.values {
print(value)
}
//遍歷所有的key和value
for (key ,value) in mutDict {
print(key)
print(value)
}
//字典的合并只能遍歷添加 不能直接“+”
//--------------------------------元組的使用--------------------------------
//Swift中新增數據類型元組,實際上就是數組、字典中妓盲,存放不同的類型元素
let userArray = ["CF", 18, 1,88] as [Any]
userArray[0]
let userDict = ["name" : "CF", "age" : 18, "height" : 1.88] as [String : Any]
userDict["name"]
// 元組的基本寫法
let userInfo = ("CF", 18, 1.88)
userInfo.0
userInfo.1
userInfo.2
// 給每一個元素起別名
let userInfo1 = (name : "CF", age : 18, height : 1.88)
userInfo1.name
userInfo1.age
userInfo1.height
// 別名就是變量的名稱
let (userName, userAge, userHeight) = ("CF", 18, 1.88)
userName
userAge
userHeight
//--------------------------------可選類型的使用--------------------------------
// 浩嫌? 或者 檐迟! 說明是可選類型
// ?表示為可選類型 码耐!表示為強制解包(如果可選類型無值追迟,強制解包會崩潰)
// 在初始化元素的時候一定要有值 或者?
let myName : String?
myName = "CF"
print(myName as Any) //Optional("CF")
//print(myName!) //CF 強制解包
if myName != nil {
print("方法一:\(myName!)")
}
if let myName = myName {
print("方法二:\(myName)")
}
let urlString = "www.baidu.com"
let url = NSURL(string: urlString)
//1.普通寫法
if url != nil {
let request = NSURLRequest(url: url as! URL)
}
//2.可選綁定
if let url = url {
let request = NSURLRequest(url:url as URL)
}
//3.可選綁定的簡單寫法
if let url = NSURL(string: urlString){
let request = NSURLRequest(url: url as URL)
}
//--------------------------------函數的使用--------------------------------
//1.沒有參數沒有返回值
func oneFunc() {
print("iPhone")
}
oneFunc()
//2.有參數沒有返回值
func valueFunc(value : String) {
print("打印傳進來的值:\(value)");
}
valueFunc(value: "哈哈")
//3.沒有參數有返回值
func iMessage() -> String {
return "吃了嗎骚腥?"
}
print(iMessage())
//4.有參數有返回值
func sum(numOne : Int,numTwo : Int) -> Int{
return numOne + numTwo
}
print(sum(numOne: 23, numTwo: 32))
//函數帶有默認參數
func add(numOne : Int = 11, numTwo : Int = 22) -> Int {
return numOne + numTwo
}
print(add(numOne: 22,numTwo:33))