From 8eef26c4a4637db8bfb641951c62d642d22ab5cd Mon Sep 17 00:00:00 2001 From: Ingo Rohlf Date: Tue, 21 Oct 2025 09:17:48 +0200 Subject: [PATCH] Stand nach Tag 1 --- .DS_Store | Bin 6148 -> 6148 bytes App.swift | 5 +- BikeView.swift | 13 +++ Models.swift | 38 +++++++- Playground.swift | 92 +++--------------- TheSwiftWeek.xcodeproj/project.pbxproj | 4 + .../UserInterfaceState.xcuserstate | Bin 39256 -> 44950 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 60 ++---------- 8 files changed, 75 insertions(+), 137 deletions(-) create mode 100644 BikeView.swift diff --git a/.DS_Store b/.DS_Store index 972423350edbc2169c15294a294511c5bcd6d5be..bea1c484cf77875008800f6f22cfab09d84050db 100644 GIT binary patch delta 79 zcmZoMXfc@JFUrEez`)4BAi%&-&XCEF#!$i#&XBs9k!3j}Bg^DH%mxBE>4w3{`MCu^ fbwHJN5g@_IDa_LtCu|nv5M!CxaBnj^$6tN`tG^S% delta 299 zcmZoMXfc@JFUrBdz`)4BAi%&-!l1`cz>vp~&Y-thk$E{|JxEH3p_rkZA(J5uS(+h* zAs;B3$B+Z06B$x+(hY-?^K%P;>S2H=eYyEAE=f80NkB~;T}yYLH4Q%Q2xLR`X5qIq uH$MfBX8d{!GEf~nc>9%MSqSok6Am diff --git a/App.swift b/App.swift index 3ab57d1..7952d41 100644 --- a/App.swift +++ b/App.swift @@ -4,6 +4,9 @@ import SwiftUI @main struct TheSwiftWeek: App { var body: some Scene { + WindowGroup { + Text("Moin") + } } } - + diff --git a/BikeView.swift b/BikeView.swift new file mode 100644 index 0000000..9a898f4 --- /dev/null +++ b/BikeView.swift @@ -0,0 +1,13 @@ + + +import SwiftUI + +struct BikeView: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +#Preview { + BikeView() +} diff --git a/Models.swift b/Models.swift index d23aece..257319e 100644 --- a/Models.swift +++ b/Models.swift @@ -1,3 +1,39 @@ +import Playgrounds +import Foundation -let a="" +protocol Vehicle { + var name: String { get } + var color: String { get set } +} +struct Train: Vehicle { + var name: String + var color: String + var delay: Int + var content: Bike + + init( + name: String = "ICE", + color: String = "white", + delay: Int = 0, + @BikeBuilder content: @escaping () -> Bike + ) { + self.name = name + self.color = color + self.delay = delay + self.content = content() + } +} +struct Bike: Vehicle, CustomStringConvertible { + var name: String + var color: String + var description: String { name + " is " + color } + + var price: some Equatable { + "FREE" + } + static let trek = Bike(name: "Trek", color: "green") + func emptyBasket() { + print("emptied", Date()) + } +} diff --git a/Playground.swift b/Playground.swift index d8fc281..5933237 100644 --- a/Playground.swift +++ b/Playground.swift @@ -1,88 +1,18 @@ -// https://carrascomolina.com import Playgrounds import Foundation -protocol Vehicle { - // name ist read-only - var name: String {get} - var color: String {get set} -} -protocol Garage { - associatedtype V: Vehicle - func park(vehicle: V) - -} -struct BikeGarage: Garage { - - - func park(vehicle: Bike){ - vehicle.emptyBasket() - } -} - -struct Train: Vehicle { - var name: String - var color = "white" - var delay = 0 // nicht im protocol - - func delayed(minutes: Int) -> Train { - var train = self - train.delay = minutes - return train - } - - let makeSomeNoise = { (noise: String) -> String in - noise.uppercased() - } - var content: () -> Vehicle -} - -struct ICE: Vehicle { - var name = "ICE" - var color = "white" -} - -struct Bike: Vehicle, CustomStringConvertible { - var name: String - var color: String - // newValue ist ein special keyword - func emptyBasket(){ - print(description + " korb ausgekippt", Date()) - } - var description: String { - set { name = newValue } - get {"A \(price)€ bike called \(name) and it is \(color)." }} - static let trek = Bike(name: "Trek", color: "red" ) - - var price: some Equatable { - // switch (Int.random(in: 1...3)) { - // case 1: - // Double.random(in: 1000...9000) - // case 2: - // "Free" - // default: - Int.random(in: 100...900) - // } - } -} var bike = Bike.trek -let train = Train(name: "RadZug", content: { Bike.trek }) - -#Playground { - // var greeting = "Hallo Playground" - - // var train = Train(name:"ICE") - // bike.description - // bike.description = "Mein Rad" - // bike.description +let train = Train { Bike.trek } -// train -// train.delayed(minutes: 23) -// BikeGarage().park(vehicle: bike) -// print( bike) -// train.makeSomeNoise("huhu") -// // write code here - - train.content().name +@resultBuilder struct BikeBuilder { + static func buildBlock(_ components: Bike) -> Bike { + components + } +} + +#Playground { +// bike.price +// train.makeSomeNoise("Choo Choo!") + train.content.name } diff --git a/TheSwiftWeek.xcodeproj/project.pbxproj b/TheSwiftWeek.xcodeproj/project.pbxproj index 2286949..ce5c72d 100644 --- a/TheSwiftWeek.xcodeproj/project.pbxproj +++ b/TheSwiftWeek.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 0CC14A892E92EEA900271E8D /* Playground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC14A882E92EEA900271E8D /* Playground.swift */; }; FBA6FA5E2EA63EA300C373EC /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6FA5D2EA63EA300C373EC /* Models.swift */; }; FBA6FA602EA66C2E00C373EC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FBA6FA5F2EA66C2E00C373EC /* Assets.xcassets */; }; + FBA6FA622EA76AAD00C373EC /* BikeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6FA612EA76AAD00C373EC /* BikeView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -19,6 +20,7 @@ 0CC14A882E92EEA900271E8D /* Playground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Playground.swift; sourceTree = ""; }; FBA6FA5D2EA63EA300C373EC /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = ""; }; FBA6FA5F2EA66C2E00C373EC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + FBA6FA612EA76AAD00C373EC /* BikeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BikeView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -38,6 +40,7 @@ 0CC14A842E92EC7A00271E8D /* App.swift */, FBA6FA5F2EA66C2E00C373EC /* Assets.xcassets */, 0CC14A882E92EEA900271E8D /* Playground.swift */, + FBA6FA612EA76AAD00C373EC /* BikeView.swift */, FBA6FA5D2EA63EA300C373EC /* Models.swift */, 0CC14A772E92EC4700271E8D /* Products */, ); @@ -127,6 +130,7 @@ FBA6FA5E2EA63EA300C373EC /* Models.swift in Sources */, 0CC14A892E92EEA900271E8D /* Playground.swift in Sources */, 0CC14A872E92EC7B00271E8D /* App.swift in Sources */, + FBA6FA622EA76AAD00C373EC /* BikeView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate b/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate index 62ca2490ffe886beabf9c5fff0b9875d1743e36f..697d3daca65195a1072cb2920bfbd60720f136f8 100644 GIT binary patch delta 22705 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 G(*F;h42cB* delta 17881 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 - - - - - - - - - - - - + startingLineNumber = "1" + endingLineNumber = "1" + landmarkName = "unknown" + landmarkType = "0">