Swift Playground

RSS for tag

Learn and explore coding in Swift through interactive learning experiences on the Swift Playground app for iPadOS and macOS.

Swift Playground Documentation

Posts under Swift Playground subtopic

Post

Replies

Boosts

Views

Activity

LLDB RPC Server Crash Playground File XCode 16.0
When running the code below in a playground file, it crashes with an LLDB RPC Server crash. The crash log is attached. If I put the code into a project, it runs fine. lldb-rpc-server-2024-10-04-110747.txt import Foundation @objc protocol Speaker { func speak() @objc optional func tellJoke() } class Deb: Speaker { func speak() { print("Hello, I'm Deb!") } func tellJoke() { print("What did Sushi A say to Sushi B?") } } class Bryan: Speaker { func speak() { print("Yo, I'm Bryan!") } func tellJoke() { print("What is the object oriented way to become wealthy?") } func writeTutorial() { print("I'm on it!") } } class Animal {} class Dog: Animal, Speaker { func speak() { print("Woof!") } } var speaker: Speaker = Bryan() if speaker is Bryan { print("Hi, I'm a Bryan") } speaker.speak() //speaker.writeTutorial() //won't compile (speaker as! Bryan).writeTutorial() speaker = Deb() speaker.speak() speaker.tellJoke?() speaker = Dog() speaker.tellJoke?() //return nil protocol MtgSimulatorDelegate { func mtgSimulatorDidStart(sim: MtgSimulator, a: Speaker, b: Speaker) func mtgSimulatorDidEnd(sim: MtgSimulator, a: Speaker, b: Speaker) } class LoggingMtgSimulator: MtgSimulatorDelegate { func mtgSimulatorDidStart(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("Meeting started") } func mtgSimulatorDidEnd(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("Meeting ended") } } class MtgSimulator: MtgSimulatorDelegate { func mtgSimulatorDidStart(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("the meeting started") } func mtgSimulatorDidEnd(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("the meeting ended") } let a: Speaker let b: Speaker var delegate1: MtgSimulatorDelegate? var delegate2: MtgSimulatorDelegate? init(a: Speaker, b: Speaker) { self.a = a self.b = b delegate1 = self } func simulate() { print("Off to meeting....") delegate1?.mtgSimulatorDidStart(sim: self, a: a, b: b) delegate2?.mtgSimulatorDidStart(sim: self, a: a, b: b) a.speak() b.speak() print("Leaving meeting...") delegate1?.mtgSimulatorDidEnd(sim: self, a: a, b: b) delegate2?.mtgSimulatorDidEnd(sim: self, a: a, b: b) a.tellJoke?() b.tellJoke?() } }//MtgSimulator let sim = MtgSimulator(a: Deb(), b: Bryan()) sim.delegate2 = LoggingMtgSimulator() sim.simulate()
3
1
1.7k
Oct ’24
"public headers ("include") directory path for 'Guide' is invalid or not contained in the target" error
Hi, I have a problem with making a swift playgrounds app walkthrough. I followed the steps exactly and modified my Package.swift a bit (in the targets section): .executableTarget(name: "App", dependencies: ["Guide"], path: "App"),         .target(             name: "Guide",             path: "Guide",             resources: [             .process("Guide.tutorial"),             ]) Now when I open the project in Playgrounds I get this error: public headers ("include") directory path for 'Guide' is invalid or not contained in the target Any help would be appreciated. Thanks
4
0
3.3k
Oct ’24
Playgrounds issue: Has to reload the puzzle every time we test code
Hi! I have a remote student who's learning to code in Swift using Playgrounds - Learn to Code 2. It's frustrating to try to test his code when we think he as part of a solution to a puzzle because he can't run his code twice in the same puzzle without resetting the puzzle - when he tries, the page gives an error, and he has to reload the whole puzzle, which erases his code. As a workaround, he's been copying his code and reloading the puzzle whenever he wants to test out a partial solution. Is there an easier way to do this?
0
0
470
Sep ’24
Swift Playgrounds BSActionErrorDomain error 1
I am writing an app in Swift Playgrounds 4.5.1 on an iPad 8th generation running iPad OS 17.5.1. When I click the run button I get the error “MyGame Crashed. Update failed. The operation couldn't be completed. (BSActionErrorDomain error 1.) MyGame may have crashed.” It was working up until a few days ago but now it can’t even show the preview. I haven’t updated the app or software since and I can run other app playgrounds. I have multiple nested views with multiple lists of buttons using ForEach statements and I am sharing variables across views using ObservableObject using code like this: class UserProgress: ObservableObject { @Published var score = 0 } struct InnerView: View { @ObservedObject var progress: UserProgress var body: some View { Button("Increase Score") { progress.score += 1 } } } struct ContentView: View { @StateObject var progress = UserProgress() var body: some View { VStack { Text("Your score is \(progress.score)") InnerView(progress: progress) } } }
2
2
769
Aug ’24