From 73d127250b94bffde1e4e19717367108f108d0ed Mon Sep 17 00:00:00 2001 From: Marius Horga Date: Sat, 26 Nov 2016 23:06:47 +0200 Subject: [PATCH] updated to Swift 3 --- .../UserInterfaceState.xcuserstate | Bin 17972 -> 18182 bytes ch06/chapter06/MetalView.swift | 2 +- .../UserInterfaceState.xcuserstate | Bin 18734 -> 18646 bytes ch07/chapter07/MetalView.swift | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ch06/chapter06.xcodeproj/project.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate b/ch06/chapter06.xcodeproj/project.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate index e1437e642c535fa6d7b16b8c0e52480982ec9738..e3032813891910052427388b2db1864e5e059e38 100644 GIT binary patch delta 10330 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 apQamMW{|3rSAbCUFMUw`Tk}67;J*Mdz#aVn delta 10357 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 Of9d1$zZL(dSNlKBhl^AI diff --git a/ch06/chapter06/MetalView.swift b/ch06/chapter06/MetalView.swift index 8689c5d..7570bd4 100755 --- a/ch06/chapter06/MetalView.swift +++ b/ch06/chapter06/MetalView.swift @@ -1,7 +1,7 @@ // // MetalView.swift // chapter06 -// +// // Created by Marius on 2/10/16. // Copyright © 2016 Marius Horga. All rights reserved. // diff --git a/ch07/chapter07.xcodeproj/project.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate b/ch07/chapter07.xcodeproj/project.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate index ccf83e06cc7d124e422127bdeb8f1662c7d126c1..c961a245581aedd1507aefb2f7722b14bed4e2f8 100644 GIT binary patch delta 10254 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 Kq5rRXqyGTory#Qc diff --git a/ch07/chapter07/MetalView.swift b/ch07/chapter07/MetalView.swift index fd1add0..b20b49c 100644 --- a/ch07/chapter07/MetalView.swift +++ b/ch07/chapter07/MetalView.swift @@ -1,7 +1,7 @@ // // MetalView.swift // chapter07 -// +// // Created by Marius on 2/29/16. // Copyright © 2016 Marius Horga. All rights reserved. //