class クラス名 observableObject{
@Published var name: String
@Published var age: Int
}
別ファイル内のViewで…
@ObservedObject var 変数名 = クラス名()
body内のbuttonなどでプロパティを変更
@Publishedが���いたプロパティが変更される度に
新しいViewが生成される
https://t.co/U3VHNrBN9I
□アップキャスト
下位の型(具体) as 上位の型(抽象)
具体→抽象的な型
let any = "abc" as Any
//String型をAny型へアップキャスト
□ダウンキャスト
上位の型(抽象) as? 下位の型(具体)
抽象→具体
let any = 1 as Any
let int = any as? Int //Optional(1)
let string = any as? String //nil
#Swift実践入門 第3章メモ✍️
□Optional<Wrapped>型
nilかどうかを表す
nilになるかもしれない時に使う
だから定義としてはこんな感じ
num Optional<Wrapped>{
case none
case some(Wrapped)
}
noneはnilを表し
someは値の存在を表す
Optionalのアンラップ法(値の取り出し)
①optional binding
if let 定数名 = Optional<Wrapped>の型 { 値が存在する場合に実行される文
}
let optionalA = Optional("a")
//String?型
if let a = optionalA {
print(type(of: a))
//optionalAに値がある場合のみ実行
}
結果
String