Swift3 從入門到精通Day10:UIView
時間:5/19(五)
內容:
UIView 與記憶體管理
- 67. UIView: 螢幕上四方形的區域11:04
- 68. Subview 跟 Superview8:54
- 69. 用程式碼加入 UIView7:05
- 70. 認識記憶體管理的第一堂課9:39
- 71. 記憶體的參考與回收5:45
- 72. 用 weak 避免循環參考9:30
- 73. 重新檢視程式運作的流程4:48
- 67. UIView: 螢幕上四方形的區域11:04
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var midRect: UIView!
override func viewDidLoad() {
super.viewDidLoad()
//set bakeground color
midRect.backgroundColor = UIColor.green
//set transprancy 0~1
midRect.alpha = 0.5
//hide UIView
midRect.isHidden = true
}
- 68. Subview 跟 Superview8:54
self.view.backgroundColor = UIColor.orange
加上這個底色就變橘色的XD
subviews:中間的紅色跟藍色
superview:底圖黃色
用tag命名然後用
self.view.viewWithTag(101)?.backgroundColor = UIColor.yellow
就可以更改顏色
- 69. 用程式碼加入 UIView7:05
- 感想:還好Xcode可以直接拖曳生成我要打一個紫色小方塊居然要打這麼多字!QQ
//make UIViwe with code
let viewArea = CGRect(x: 67, y: 462, width: 97, height: 95)
let smallRect = UIView(frame: viewArea)
smallRect.backgroundColor = UIColor.purple
self.view.addSubview(smallRect)
- 70. 認識記憶體管理的第一堂課9:39
class person{
var firstname:String
var lastname:String
var fullname:String
init() {
var firstname = “wei”
var lastname = “wei”
fullname = firstname + lastname
print(“a person is being initialized”)
}
deinit {
print(“a person is being deinitilized”)
}
}
person()
- 71. 記憶體的參考與回收5:45
class
var person1:person? = person()
var person1:person? = person1
用同一塊記憶體會互相影響
但看下面對照組var number就不會影響各自存入後做自己的事
- 72. 用 weak 避免循環參考9:30
在aPersom?.heart = aHeart
跟aHeart?.person = aPerson的部分互相參考
為了避免記憶體被刪除要在
加上week
不會增加記憶體變數的個數,不一定需要,不負責維持記憶體
- 73. 重新檢視程式運作的流程4:48
所有東西都是UIview的子類別~