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.mValuesOfDatasself.data.axisDistanceself.data.mVerticalRatioToDraw_viewself.data.mMarginmPanelWidth ?? 0mPanelHeight ?? 0mFixedPanelWidthmFixedPanelHeight, layer: 0)



struct 만 넘기자.





+ Recent posts