why does the for loop in Swift Playground iterates over each element in a random order? I thought for loops iterate from the first element going to the last?
Swift Playgrounds
RSS for tagLearn and explore coding in Swift through interactive learning experiences on the Swift Playgrounds app for iPadOS and macOS.
Post
Replies
Boosts
Views
Activity
I have the simplest Playground to display image. I have images inside Resources. Somewhat it does not work and I am really confused. I am using macOS XCode.
I think on iPad Swift Playground this might work.
import SwiftUI
import PlaygroundSupport
struct ContentView: View {
var body: some View {
Image("image1")
.resizable()
.frame(width: 512, height: 512)
}
}
let hostingController = UIHostingController(rootView: ContentView())
PlaygroundPage.current.liveView = hostingController
I have to admit that this is strange for me. Though I have been using playgrounds for years, but I only write small pieces of code to test simple ideas, and I never used another source file.
Today I want to add a new struct in Sources folder. To my surprise, I am not able to reference the struct in the main playground file.
Sources/testlets.swift:
struct Dummy {
var name: String
}
MyPlayground:
var box = Dummy(name: "abc")
// error: /.../MyPlayground.playground:22:11 Cannot find 'Dummy' in scope
Hi,
is there any possibility to localize my Swift Playgrounds APP?
In the Build meta data it is always only English, and the "traditional" localization process doesn't work in Swift Playgrounds on iPad or in Xcode on Mac.
Is there a Form where I, a noobie, can ask really basic questions about this learning environment?
As an example, I discovered the semi-colon in doing a task in the early part of "learn to Code" but I have not found any documentation for it. I am sure I will have other questions but right now I am just looking for a place to ask them.
Thank you in advance.
Can it be done?
I can reliably crash Xcode by attempting the following in a playground:
import UIKit
import WeatherKit
import CoreLocation
let sanFrancisco = CLLocation(latitude: 37.7749, longitude: 122.4194)
let weatherService = WeatherService()
let weather = try await weatherService.weather(for: sanFrancisco)
let temperature = weather.currentWeather.temperature
print(temperature)
Xcode 14.3.1
macOS 13.4.1
I'm encountering the same problem, the chart view stays blank! The code supposed to draw a PiChart with a customization in its style.
The exercise is as follows:
Pie Charts, Revisited
The new API for pie charts exposes two new types: PieWedge and PieChartView.
The PieWedge struct gives you several ways to create visual effects with pie charts. It has the following properties:
proportion: The percentage of the pie occupied by the wedge, expressed as a Double.
color: The color of the wedge. You can use any one of the following values.
(Remember to use a period before the color name. If you don't, Swift will return a "use of unresolved identifier" error.)
.black
.blue
.brown
.cyan
.darkGray
.gray
.green
.lightGray
.magenta
.orange
.purple
.red
.yellow
scale: The radius of the wedge relative to the pie's natural radius, expressed as a Double. Less than 1.0 will make the wedge smaller than normal-sized wedges, and greater than 1.0 will make the wedge larger (typically the desired effect).
offset: The distance a wedge lies from the center of the pie, relative to the size of the wedge. An offset of 0 keeps the wedge at the center of the pie. An offset of 1.0 moves the center point of the wedge to where its outer edge would be.
The makePieChart() function creates an instance of a PieChartView named pieChartView. PieChartView has one property named wedges, which is an array of PieWedge instances. Assign an array of wedges to this property, or use the append() method of Array to add them one at a time.
Keys
makePieChart() also creates a key named keyView. It's an instance of ChartKeyView, which has a keyItems property. keyItems is an array of ChartKeyItem instances. ChartKeyItem has the following properties:
color: The color swatch displayed in the key. You can use any of the following values.
.black
.blue
.brown
.cyan
.darkGray
.gray
.green
.lightGray
.magenta
.orange
.purple
.red
.yellow
name: The text to display expressed as a String.
Create a pie chart using your own data. Play with different scale and offset properties to see how they affect the look of your chart.
My Code:
makePieChart()
let myPiWedge1 = PieWedge(proportion: 0.1, color: .red, scale: 1.0, offset: 1.0)
let myPiWedge2 = PieWedge(proportion: 0.4, color: .blue, scale: 1.0, offset: 1.0)
let myPiWedge3 = PieWedge(proportion: 0.5, color: .yellow, scale: 1.0, offset: 1.0)
var myPieChartViewArray = PieChartView().wedges
myPieChartViewArray = [myPiWedge1, myPiWedge2, myPiWedge3]
var myKeyView = keyView.keyItems
let myChartKeyItem1 = ChartKeyItem(color: .red, name: "w1")
let myChartKeyItem2 = ChartKeyItem(color: .blue, name: "w2")
let myChartKeyItem3 = ChartKeyItem(color: .yellow, name: "w3")
myKeyView = [myChartKeyItem1, myChartKeyItem2, myChartKeyItem3]
I tried this as well, it shows the same issue:
makePieChart ()
//Create an array of PieWedge instances
var wedges: [PieWedge] = []
// Create individual PieWedge instances and add them to the wedges array
let wedge1 = PieWedge(proportion: 0.3, color: .red, scale: 1.0, offset: 0)
let wedge2 = PieWedge(proportion: 0.2, color: .blue, scale: 0.8, offset: 0.2)
let wedge3 = PieWedge(proportion: 0.5, color: .green, scale: 1.2, offset: 0)
wedges.append(wedge1)
wedges.append(wedge2)
wedges.append(wedge3)
// Create an instance of PieChartView and assign the wedges array
let pieChartView = PieChartView()
pieChartView.wedges = wedges
// Create an instance of ChartKeyView and configure its keyItems array
let keyItem1 = ChartKeyItem(color: .red, name: "Red Wedge")
let keyItem2 = ChartKeyItem(color: .blue, name: "Blue Wedge")
let keyItem3 = ChartKeyItem(color: .green, name: "Green Wedge")
let keyItems = [keyItem1, keyItem2, keyItem3]
let keyView = ChartKeyView()
keyView.keyItems = keyItems
Any one can help? to me it sounds that the playground has some bug in it :)
This exercise from the book "Explorations":
Exploration --> Student --> 3-Organizing Data --> 2-Play with Complex Data --> I-Visualization Revisited