@@ -8,7 +8,7 @@ class ViewController: UIViewController, MetaballDataSource {
88 typealias TargetView = Renderer.TargetView
99
1010 var metaballView: TargetView!
11− let renderer = Renderer()
11+ var renderer: Renderer!
1212
1313 let width = 350
1414 let height = 600
@@ -21,6 +21,7 @@ class ViewController: UIViewController, MetaballDataSource {
2121 override func viewDidLoad() {
2222 super.viewDidLoad()
2323
24+ renderer = Renderer(dataSource: self)
2425
2526 let recognizer = UIPanGestureRecognizer(target: self, action: "handlePan:")
2627 view.addGestureRecognizer(recognizer)
@@ -28,7 +29,8 @@ class ViewController: UIViewController, MetaballDataSource {
2829
2930 let border = 20
3031 let metaballViewFrame = CGRect(x: border/2, y: border/2, width: width, height: height)
31− metaballView = renderer.createTargetView(frame: metaballViewFrame)
32+ metaballView = renderer.targetView
33+ metaballView.frame = metaballViewFrame
3234
3335 let bigView = UIView(frame: CGRect(x: 10, y: 70, width: width + border, height: height + border))
3436 bigView.backgroundColor = UIColor.redColor()
@@ -41,7 +43,7 @@ class ViewController: UIViewController, MetaballDataSource {
4143 }
4244
4345
44− renderer.updateTargetView(metaballView, dataSource: self)
46+ renderer.updateTargetView()
4547 }
4648
4749 func handlePan(recognizer: UIPanGestureRecognizer) {
@@ -58,10 +60,10 @@ class ViewController: UIViewController, MetaballDataSource {
5860 selectedMetaball?.middle = location
5961
6062 if recognizer.state == .Changed && dynamicRendering {
61− renderer.updateTargetView(metaballView, dataSource: self)
63+ renderer.updateTargetView()
6264 }
6365 if recognizer.state == .Ended {
64− renderer.updateTargetView(metaballView, dataSource: self)
66+ renderer.updateTargetView()
6567 }
6668 }
6769}