AppIcon / Closure

This commit is contained in:
Ingo Rohlf 2025-10-20 15:34:39 +02:00
parent adea84b66b
commit 96cc34d156
9 changed files with 112 additions and 3 deletions

BIN
.DS_Store vendored

Binary file not shown.

View file

@ -0,0 +1,36 @@
{
"images" : [
{
"filename" : "swift.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "tinted"
}
],
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View file

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View file

@ -31,6 +31,9 @@ struct Train: Vehicle {
return train return train
} }
let makeSomeNoise = { (noise: String) -> String in
noise.uppercased()
}
} }
struct ICE: Vehicle { struct ICE: Vehicle {
@ -47,8 +50,19 @@ struct Bike: Vehicle, CustomStringConvertible {
} }
var description: String { var description: String {
set { name = newValue } set { name = newValue }
get {"A bike called \(name) and it is \(color)." }} get {"A \(price)bike called \(name) and it is \(color)." }}
static let trek = Bike(name: "Trek", color: "red" ) 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)
// }
}
} }
#Playground { #Playground {
@ -63,5 +77,6 @@ struct Bike: Vehicle, CustomStringConvertible {
train.delayed(minutes: 23) train.delayed(minutes: 23)
BikeGarage().park(vehicle: bike) BikeGarage().park(vehicle: bike)
print( bike) print( bike)
train.makeSomeNoise("huhu")
// write code here // write code here
} }

View file

@ -10,6 +10,7 @@
0CC14A872E92EC7B00271E8D /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC14A842E92EC7A00271E8D /* App.swift */; }; 0CC14A872E92EC7B00271E8D /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC14A842E92EC7A00271E8D /* App.swift */; };
0CC14A892E92EEA900271E8D /* Playground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC14A882E92EEA900271E8D /* Playground.swift */; }; 0CC14A892E92EEA900271E8D /* Playground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC14A882E92EEA900271E8D /* Playground.swift */; };
FBA6FA5E2EA63EA300C373EC /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6FA5D2EA63EA300C373EC /* Models.swift */; }; FBA6FA5E2EA63EA300C373EC /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6FA5D2EA63EA300C373EC /* Models.swift */; };
FBA6FA602EA66C2E00C373EC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FBA6FA5F2EA66C2E00C373EC /* Assets.xcassets */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@ -17,6 +18,7 @@
0CC14A842E92EC7A00271E8D /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = "<group>"; }; 0CC14A842E92EC7A00271E8D /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = "<group>"; };
0CC14A882E92EEA900271E8D /* Playground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Playground.swift; sourceTree = "<group>"; }; 0CC14A882E92EEA900271E8D /* Playground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Playground.swift; sourceTree = "<group>"; };
FBA6FA5D2EA63EA300C373EC /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = "<group>"; }; FBA6FA5D2EA63EA300C373EC /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = "<group>"; };
FBA6FA5F2EA66C2E00C373EC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -34,6 +36,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0CC14A842E92EC7A00271E8D /* App.swift */, 0CC14A842E92EC7A00271E8D /* App.swift */,
FBA6FA5F2EA66C2E00C373EC /* Assets.xcassets */,
0CC14A882E92EEA900271E8D /* Playground.swift */, 0CC14A882E92EEA900271E8D /* Playground.swift */,
FBA6FA5D2EA63EA300C373EC /* Models.swift */, FBA6FA5D2EA63EA300C373EC /* Models.swift */,
0CC14A772E92EC4700271E8D /* Products */, 0CC14A772E92EC4700271E8D /* Products */,
@ -110,6 +113,7 @@
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FBA6FA602EA66C2E00C373EC /* Assets.xcassets in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View file

@ -14,11 +14,59 @@
filePath = "Playground.swift" filePath = "Playground.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "36" startingLineNumber = "39"
endingLineNumber = "36" endingLineNumber = "39"
landmarkName = "ICE" landmarkName = "ICE"
landmarkType = "14"> landmarkType = "14">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1AD49130-FF07-483D-BB89-C32BFEA100E5"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "App.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "4"
endingLineNumber = "4"
landmarkName = "TheSwiftWeek"
landmarkType = "14">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "85CFA9E8-BF14-4860-9D61-E8435BD1A73A"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "App.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "6"
endingLineNumber = "6"
landmarkName = "body"
landmarkType = "24">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "560FB38F-4034-4C49-A74B-4B760E1C2FF6"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Playground.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "10"
endingLineNumber = "10"
landmarkName = "Garage"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints> </Breakpoints>
</Bucket> </Bucket>

BIN
swift.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB