w 7JFX.PEFM w 6*Ͱൃੜͨ͠ΠϕϯτΛड͚औͬͯ.PEFMͰ࣮͞ΕͨϏδωεϩδοΫͳͲΛݺͼग़͢ w .PEFM͔ΒಘΒΕͨσʔλΛը໘ͰදࣔͰ͖Δܗࣜʹมͯ͠7JFXʹ͑Δ w .PEFM w ϏδωεϩδοΫͷ࣮%# 8FC"1*ͳͲͷ֎෦γεςϜͷ࿈ܞΛ࣮͢Δ w 7JFX.PEFM͔Β͑ΒΕͨΠϕϯτଞͷ.PEFMͰൃੜͨ͠ΠϕϯτΛτϦΨʔʹͯ͠ॲཧΛ։࢝͢Δ w ॲཧͷ݁ՌΛ7JFX.PEFMʹ௨͢Δ 7
public struct Inputs { public let tapButton: Single<()> public let inputText: Single<String> public let viewDidLoad: Signal<()> } // ฦΓͱͯ͠ฦ͢ߏମ // Model Ͱൃੜͨ͠ΠϕϯτͳͲΛ௨ͯ͠ // View Ͱඳը͢Δ public struct Outputs { public let title: Driver<String> public let contents: Driver<[Item]> } 17
{ public let tapButton: Single<()> public let inputText: Single<String> public let viewDidLoad: Signal<()> } // ग़ྗ public struct Outputs { public let title: Driver<String> public let contents: Driver<[Item]> } public func bind(_ inputs: Inputs) -> Outputs { // ೖྗΠϕϯτΛग़ྗΠϕϯτʹม͢Δ } } 20
͕ࣗಈੜ͞ΕΔ͕ // σϑΥϧτͷΞΫηεम০ࢠͱͳΔͷͰɺ Framework ͷҧ͏ // View ͔Β init Λݺͼग़͢͜ͱ͕Ͱ͖ͳ͍ public struct Inputs { public let tapButton: Single<()> public let inputText: Single<String> public let viewDidLoad: Signal<()> } 40