-
//隐式可选型 可为nil,可有值
class City{
var cityName: String
unowned var country: Country
init(cityName: String, country: Country) {
self.cityName = cityName
self.country = country
}
}
class Country {
let countryName: String
var capitalCity: City?
init(countryName: String, capitalCity:String) {
self.countryName = countryName
self.capitalCity = City(cityName: capitalCity, country: self)
}
func showInfo(){
print("this is \(countryName)")
print("the capital is \(String(describing: capitalCity?.cityName))")
}
}
let china = Country(countryName: "China", capitalCity: "beiJing")
china.showInfo()
查看全部 -
var ageInput: String = "16"
var age = Int(ageInput)//类型转换涉及到可选型
if let age = age, age < 20{
print("you are teenager\n")
}
查看全部 -
swit 的三目运算符
var errorMessage: String? = nil
let message1 = errorMessage ?? "no Error"
let message2 = errorMessage == nil ? "no error" : errorMessage
查看全部 -
可选型:swift的设计师不认为 nil null应该是某种类型(int)的特殊值,nil就是一种类型
2.可选型必须依附其他类型
var errorCode: String? = "404"
var errorMessage: String? = "not found"
if let errorCode = errorCode{
"error code is " + errorCode
}
if let errorCode = errorCode, errorMessage = errorMessage, where errorCode == "404"{
//通过where添加限制条件
}
查看全部 -
errorMessage?.uppercased()
"?" 尝试进行解包
errorMessage!.uppercased()
"!"强制进行解包
查看全部 -
默认都是传值,传引用用inout关键字
查看全部 -
errormessage?.upercasString
查看全部 -
let message =er ?? "not found"
查看全部 -
04-2 可变长参数
// 变长参数只能有一个
// 变长参数不一定放在最后
func mean( numbers: Double ... ) -> Double{
// 将变长参数当做一个数组看待
for number in numbers{
查看全部 -
当一个函数在其他地方无需复用时,可以使用此种函数嵌套查看全部
-
Swift中一个运算符号的本质就是一个函数 map遍历操作 filter过滤操作 reduce归纳操作?查看全部
-
高级函数可以把函数作为一个参数传入查看全部
-
函数类型变量的应用查看全部
-
函数变量,可以把一个函数当做变量查看全部
举报