Swift
发布时间:2022-03-31 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift 2.0语法更新(三),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
6
.optional Pattern let someOptional: Int ? = 42 if case .Some( let
X) = someOptional
{ print (
X) } if case let x? = someOptional
{ print (
X) } if let x = someOptional
{ print (
X) } 此三句输出
let
someOptional:
Int
? =
42
if
case
@L_429_0@me(
let
X) =
someOptional
{
print
(X)
}
case
let
x? =
if
let
x =
print
(X)
}
此三句
输出结果相同,均为"42\n”,若将42改为nil,三个print均不会触发。
let
arrayOfOptionalInts: [
Int
?] = [
nil
,
2
,216)"> 3
,
nil
,216)"> 5
]
for
let
number?
in
arrayOfOptionalInts
{
print
(number)
}
}
第
一个for 循环中print
调用三次,只
输出非空值,第二个for 循环
输出5次。
7.repeat-while
在Swift2.0中,do-while 被改为repeat-while,do现在大概只出现在Error handling 的do catch 之中了。
8.Type Properties
实例变量归属于实例,每次增添
一个类型的实例就需要对实例变量重新赋值。
你也可以设置类型变量,这样所有的实例都会拥有该变量。
对于值类型,你可以在其中定义存储
属性或者计算
属性的类型变量,而对于引用类型比如类,你只可以定义计算
属性(与下方实例
代码冲突,但原文就是这么写的,若是理解
错误,望指正)。
存储
属性可以是变量也可以是常量,计算
属性则总是变量。
你在class中可以定义以static关键字或者class关键字开头的计算
属性,区别是,class开头的计算
属性可以被子类重载。
struct
someStructure {
static
var
storedTypeProperty =
"Some value"
var
computedTypeProperty:
Int
{
return
1
}
}
enum
someEnumeration {
6
}
}
class
someClass {
27
}
class
var
overrideableComputedTypeProperty:
107
}
}
break语句用来跳出
一个循环、if 语句或者是Switch 语句,break语句可以直接使用也可以在后面
增加一个label,这个label
是需要调出的循环、if 语句或者是 Switch的名字。
名字可加在if Switch while等关键字的前面并用冒号分隔开。
10.Declaration Attributes
available:
你可以使用available来表示
你的方法声明需要在
一个特定的平台或者系统版本下。
* 作为参数可以表示所有平台,加在最后可表示剩余的所有平台。
unavailable 作为参数可表示在特定的平台或者系统版本下不适用。
introduced 参数表示该
方法在某特定平台是在哪个系统版本起开始可用的。
deprecated 参数表示该
方法在第几个系统版本后不再被推荐使用。
obsoleted 参数表示该
方法在第几个系统版本后被彻底废除。
message 参数用来提供当使用了被
标记为deprecated 或 obsoleted 的
方法后所给出的
文字警告。
warn_unused_result
mutable_varient 用来提供你所使用的non muta
Ting
方法的muta
Ting 版本
方法的名字。
比如,Swift标准库里面提供muta
Ting
方法Sor
TinPlace() 和 non muta
Ting
方法 sort() 如果你
调用sort() 但却并没有用到它的结果,编译器就会猜测你想用的是Sor
TinPlace()。
大佬总结
以上是大佬教程为你收集整理的Swift 2.0语法更新(三)全部内容,希望文章能够帮你解决Swift 2.0语法更新(三)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。