Swift3 從入門到精通Day10:UIView

Alice
Daily Swift
Published in
4 min readMay 18, 2017

時間: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的子類別~

--

--