编辑代码

ViewController.swift
DrawMusic
Created by Zhifeng Chen on 2020/8/4.
Copyright 2020Zhifeng Chen. A11 rights reserved.
import UIKit
class Shape 
//名称
var name :String?
//边数
var sides :Int?
//左上角的位置坐标
var origin : CGPoint?
//线条颜色
var lineColor :UIColor = UIColor.red
//填充颜色
var fillColor:UIColor= UIColor.green
//线条宽度
var lineWidth : CGFloat - 2
//构造器函数init
init(name : String, sides : Int, origin: CGPoint)
self.name = name
self.sides = sides
self.origin = origin
//自定义方法sayHello
func sayHello()(
print("Shape:\(name!),sides\(sides!), origin (\(origin!.x),
(origin!.y)) ")
CzfView: UIView
[
//成员变量(属性)shape,其类型为Shape
class
var shape : Shape?
// 重载 UIView的draw方法
override func drawi rect: CGRect)(
//判断shape变量是否为空值n11
guard let = shape else(
xeturn
1
//不为空,则调用shape这个实例的方法
s.sayHello()
classViewController:UIViewController
override func viewDidLoad() t
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//此处调用Shape类,建立一个对象(实例)myShape
let myShape = Shape(name:"BaseShape", sides: 0, origin: CGPoint(x:
0, y: 0))
//此处建立了一个CzfView的实例myView
let width = self.view.frame.size.width
let height = self.view.frame.size.height
let myView = CzfView(frame: CGRect(x: 0, y: 0,width: width height: height))
//赋值给myView中的成员变量(属性) shape
myView. shape = myShape
/ / 显示 myView
self.view.addSubview(myView)
}
}