Ich habe einen folgenden Code, der Kakao Touch-Klasse ist, die ein einfaches Tortendiagramm zeichnet, und mit dem Wert CGFloat kann ich das Bild anpassen, um die richtige Menge an Pie anzuzeigen.Wie man Wert zwischen Klassen übergibt -
Wie kann ich einen Wert zum Beispiel von einem Schieberegler in der Hauptansicht controler.swift übergeben, anstatt ihn zu fixieren?
public class PieChart : NSObject {
public class func drawCanvas1(ratio ratio: CGFloat = 0.75) {
//// Variable Declarations
let expression: CGFloat = 90 + ratio * 360
let ovalPath = UIBezierPath(ovalInRect: CGRect(x: 0, y: -0, width: 112, height: 112))
UIColor.blackColor().setFill()
ovalPath.fill()
let oval2Rect = CGRect(x: 4, y: 4, width: 104, height: 104)
let oval2Path = UIBezierPath()
oval2Path.addArcWithCenter(CGPoint(x: oval2Rect.midX, y: oval2Rect.midY), radius: oval2Rect.width/2, startAngle: -expression * CGFloat(M_PI)/180, endAngle: -90 * CGFloat(M_PI)/180, clockwise: true)
oval2Path.addLineToPoint(CGPoint(x: oval2Rect.midX, y: oval2Rect.midY))
oval2Path.closePath()
UIColor.redColor().setFill()
oval2Path.fill()
}
}
und das ist mein ViewController.swift
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var sliderValue: UISlider!
@IBAction func sliderMoved(sender: UISlider) {
let mySliderValue = sliderValue.value
// das ist, wo ich bin stecken ->
drawCanvas1 = Float(mySliderValue)
}
EDIT: Code hinzugefügt, von wo Piechart Initialised ist
import UIKit
@IBDesignable
class PCView: UIView {
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect) {
// Drawing code
}
*/
override func drawRect(rect: CGRect) {
PieChart.drawCanvas1()
}
}
Sie benötigen einen Verweis auf 'PieChart' in' ViewController'. Wie und wo wird 'PieChart' initialisiert? – vadian
ok - also würde ich PieChat wie folgt referenzieren? var sliderUpdate = PieChart! ? – PappaGee
Code hinzugefügt von dem PieChart initialisiert wird - – PappaGee