USAGE:
var response: jhChart<Data>?
DECLARE:
public struct jhChart<Value> {
public let result: Result<Value>
public var value: Value? { return result.value }
...}
structure 의 장점
늘어나는 properties 를 하나에 때려넣을 수 있다.
struct jhData {
internal var mValuesOfDatas : Array<CGFloat> = Array() {
didSet {
if GS.shared.logLevel.contains(.graph) {
print("mValuesOfDatas.count has been changed to \(mValuesOfDatas.count) in jhPanel")
}
}
}
/// Axes
var mCountOfaxes_view : Int = 1
var mUnitOfHorizontalAxes : CGFloat = 100
var mcountOfHorizontalAxes : Int = 3
internal var mVerticalRatioToDraw_view : CGFloat = 1.0
var axisDistance : CGFloat {
get {
return (jhDraw.maxR - mMargin * 2) / CGFloat(mCountOfaxes_view+1)
}
set(distance) {
mCountOfaxes_view = Int(jhDraw.maxR / CGFloat(distance))
}
}
var mCountOfDatas : Int
var mMaxValueOfDatas : CGFloat
var mMinvalueOfDatas : CGFloat
internal var mMargin : CGFloat = 300 //1000.0
//1000.0 is 13.3..%, margin between panel & graph area 0<=martgin<10000.0
init() {
mCountOfDatas = 0
mMaxValueOfDatas = 0
mMinvalueOfDatas = 0
}
.
.
.
그리고 인자(인수, 파라미터, 로 넘길 때 편하다.
복잡하게 안 넘기고
dataLayer = jhLayer(&jhClientServer.mValuesOfDatas, self.data.axisDistance, self.data.mVerticalRatioToDraw_view, self.data.mMargin, mPanelWidth ?? 0, mPanelHeight ?? 0, mFixedPanelWidth, mFixedPanelHeight, layer: 0)
struct 만 넘기자.
'!A. Basics' 카테고리의 다른 글
iOS, Changing the tab bar selected image (0) | 2019.03.27 |
---|---|
checking logs on iphone without Xcode (0) | 2019.03.27 |
viewDidLoad()없는 뷰 제작시 사용하는 func name = entry (0) | 2019.01.27 |
UIStackView (0) | 2019.01.27 |
viewController 안에 viewController 넣기 (0) | 2019.01.26 |