Post

Replies

Boosts

Views

Activity

'self' used before all stored properties are initialized and I have not idea why
No idea why this error occurred, and I suspect that it's me putting initialization in the wrong place. struct TodosDocument: FileDocument { var todo: Context @AppStorage("defaultText") var defaultText: String = defaultContent var content: String var erroreousFileContent: Bool = false init(content: String = defaultContent, defaultText: String = defaultContent) { self.defaultText = defaultText self.content = content do { self.todo = try JSONDecoder().decode(Context.self, from: content.data(using: .utf8)!) } catch { print("ERROR \(error)") fatalError() } } static var readableContentTypes: [UTType] { [.TodoType] } init(configuration: ReadConfiguration) throws { guard let data = configuration.file.regularFileContents, let string = String(data: data, encoding: .utf8) else { throw CocoaError(.fileReadCorruptFile) } self.content = string do { self.todo = try JSONDecoder().decode(Context.self, from: data) } catch { self.todo = try JSONDecoder().decode(Context.self, from: defaultText.data(using: .utf8)!) // <- here } } func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper { let data = content.data(using: .utf8)! let i = JSONEncoder() i.outputFormatting = .prettyPrinted let content = Context(title: todo.title, items: todo.items) do { let dat = try i.encode(content) return .init(regularFileWithContents: dat) } catch { fatalError("Cannot write content \"\(data)\" with \(configuration): \(error)") } } }
3
0
1.2k
May ’22
sth wrong with .searchable
I add searchable to my SwiftUI List But the search TextField isn't showing Here's my code NavigationView { List(searchResults, id: \.self) { item in NavigationLink { LegendDetailView(item: item) } label: { HStack { Text(item.name).padding(1) Spacer() Image(systemName: "chevron.right").imageScale(.small) } } } }.searchable(text: $searchText)
2
1
879
May ’22
Sth about WWDC
I remembered there's a message that says that you cannot modify this video or whatever at the end of every session. So, if I trim the video and send it to my friend, is it allowed? Bonus: where can I find the background music for every daily debrief video (if I can)?
2
0
511
Jun ’22
Really easy question
I know this is really easy I want to get the absolute path for the current app And I can achieve using String(reflecting: Bundle.main.bundleURL) But what outputs isn't like /User/xxx/..... but file:///User/xx/... so what can I do to get a absolute path in /xxx/xxx/xxx format? thanks
1
0
319
Jun ’22
Virtualization
I know how to use Virtualization now But I don't know how to write interface in AppKit So I should find a way to embed a NSView(the VM's UI) in a SwiftUI View However I couldn't find any reference on how except NSViewRepresentable which, of course, will not work I know there must be a easy way to do this But I'm just can't find it... any help is appreciated
1
0
843
Jun ’22
Why isn't my "Add button" not working?
I'm trying out Swift Charts and I'm pretty messed up After I deleted all of my items, I couldn't add items anymore import SwiftUI extension Array where Element == ChartsData {     mutating func delete(_ item: ChartsData) {         self.removeAll {             $0 == item         }     } } struct ContentView: View {     var ofType: ChartsType     @State var data: [ChartsData] = []     var body: some View {         List {             VStack {                 HStack {                     Spacer() // MARK - add button                     Button {                         data.append(ChartsData(item: "item"))                     } label: {                         Image(systemName: "plus").imageScale(.large)                     }.buttonStyle(.plain).padding()                 }                                  List {                     ForEach(data) { datum in                         TableRow(data: datum).swipeActions {                             Button(role: .destructive) {                                 data.delete(datum)                             } label: {                                 Label("Delete", systemImage: "trash")                             }                         }                     }                 }                 NavigationLink{                     ChartsView(ofType: .BarChart, data: data)                 } label: {                     Text("Generate").font(.largeTitle).foregroundStyle(.linearGradient(colors: [.orange, .yellow, .blue, .purple], startPoint: .topTrailing, endPoint: .bottomLeading))                 }.padding()             }         }     } } struct ContentView_Previews: PreviewProvider {     static var previews: some View {         ContentView(ofType: .BarChart, data: [             ChartsData(item: "testItem1", value: 10),             ChartsData(item: "testItem2", value: 20)         ])     } }
1
0
585
Jun ’22
Weird UI layout in SwiftUI .swipeActions
OK after I'm done with my last issue I came across some weird UI layout this is really a serious issue because afterward it looks like this😂 why? I've never met this kind of issue before in my same code before upgrading to Ventura code: List { ...                 Section {                     ForEach(data) { datum in                         TableRow(data: datum)                             .swipeActions {                             Button(role: .destructive) {                                 data.delete(datum)                             } label: {                                 Label("Delete", systemImage: "trash")                             }                         }                     }                 } ... }
1
0
585
Jun ’22
WeatherKit and SwiftUI
I'm trying out weather kit and I'm using swiftUI I have a view that accepts a CurrentWeather type value in initailizer I cannot find a way to initialize a CurrentWeather How can I preview It? This won't work: // forecaster and forecast is defined by me struct WeatherView_Previews: PreviewProvider {     static var previews: some View { // <- static WeatherView(weather: await forecaster.forcast(latitude: 0, longtitude: 0)) // <- concurrency     } }
1
0
1k
Jun ’22