Variables、Constant、Data Types:
data types:
Int
Float
Double
Bool
Character
String
UInt
CGFloat
Variables:var
var count: Int
var shouldRemind: Bool var text: String
var list: [ChecklistItem]Data Type Convert:
var i = 10
var f: Float
f = i // error f = Float(i) // OKType Annotation:
var i: Double = 10Complex Types:need instantiating
allocation:(存储一个ChecklistItem对象到item变量里,此时还没创建ChecklistItem对象)
var item: ChecklistItem
initialization:(创建ChecklistItem对象,赋初始值)
item = ChecklistItem()
合并:
Instantiating:
var item = ChecklistItem()
scope:
Local variable/Instance variable
嵌套方法中同名变量,可以用self.variable来代表全局变量。
Constant:let
let pi = 3.141592
let difference = abs(targetValue - currentValue) let message = "You scored \(points) points"
let image = UIImage(named: "SayCheese")*如果常量对一个方法来说是局部变量,每次调用这个方法都可以给这个常量赋予一个新的值。所以声明建议都用let,因为如果错误会有提示。
value type/reference type
Int,String,struct,enum…/objects defined with class
collection object
array:
// an array of ChecklistItem objects:
var items: Array<ChecklistItem> // using shorthand notation:
var items: [ChecklistItem]
// making an instance of the array:
items = [ChecklistItem]()
dictionary:stores key-value pairs
// a dictionary that stores (String, Int) pairs, for example a // list of people’s names and their ages:
var ages: Dictionary<String, Int>
// using shorthand notation:
var ages: [String: Int]
// making an instance of the dictionary:
ages = [String: Int]()
// accessing an object from the dictionary:
var age = dict["Jony Ive"] *也就是说,数组用Integer标记,词典用String标记。
Array和dictionary都是泛型——提高代码复用。
optional:declare a variable has no value
var checklistToEdit: Checklist?
binding or unwrapping:用optional之前要判断它是否有值的过程
if let checklist = checklistToEdit {
// “checklist” now contains the real object
} else {
// the optional was nil
}
不确定:用if let
if let age = dict["Jony Ive"] { // use the value of age
}
确定:用force unwrapping:! means the value won’t be nil
var age = dict["Jony Ive"]! optional chaining:自判断连接
navigationController?.delegate = self
相当于:
if navigationController != nil { navigationController!.delegate = self } implicitly unwrapped optional:隐式解析类型(不能在定义时给定初始值)
var dataModel: DataModel!
本文介绍了Swift编程语言的基础概念,包括变量、常量、数据类型、类型转换等,并详细讲解了数组和字典等集合类型的使用方法。
507

被折叠的 条评论
为什么被折叠?



