recruit-mtl / Graphs
- пятница, 24 июня 2016 г. в 03:14:26
Swift
None
$ pod init
specify it in your Podfile
platform :ios, '8.0'
target 'TargetName' do
use_frameworks!
pod 'Graphs', '~> 0.1.2'
end
And run CocoaPods
$ pod install
You can install Carthage with Homebrew.
$ brew update
$ brew install carthage
specify it in your Cartfile
github "recruit-mtl/Graphs"
And run carthage
$ carthage update --platform ios
import Graphs
let view = (1 ... 10).barGraph(GraphRange(min: 0, max: 11)).view(viewFrame)
let view = [10, 20, 4, 8, 25, 18, 21, 24, 8, 15].lineGraph(GraphRange(min: 0, max: 30)).view(viewFrame)
let view = ["a": 3, "b": 8, "c": 9, "d": 20].pieGraph().view(viewFrame)
import Graphs
struct Data<T: Hashable, U: NumericType>: GraphData {
typealias GraphDataKey = T
typealias GraphDataValue = U
private let _key: T
private let _value: U
init(key: T, value: U) {
self._key = key
self._value = value
}
var key: T { get{ return self._key } }
var value: U { get{ return self._value } }
}
let data = [
Data(key: "John", value: 18.9),
Data(key: "Ken", value: 32.9),
Data(key: "Taro", value: 15.3),
Data(key: "Micheal", value: 22.9),
Data(key: "Jun", value: 12.9),
Data(key: "Hanako", value: 32.2),
Data(key: "Kent", value: 3.8)
]
let view = data.pieGraph() { (unit, totalValue) -> String? in
return unit.key! + "\n" + String(format: "%.0f%%", unit.value / totalValue * 100.0)
}.view(viewFrame)
-> Read Playgrounds
$ git clone https://github.com/recruit-mtl/Graphs.git
$ cd /path/to/Graphs/GraphsExample
$ pod install
And Open GraphsExample.xcworkspace
Interface Builder talks to code through the ObjC runtime. And ObjC doesn't do generics.