Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
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)")
}
}
}
I'm in China, and if I sign up for a digital lounge or lab, It's either me or Apple staying up all night. So, what's the case to activities for areas not in the same time zone as USA?
What I want: I'm learning developing by building a document-based todos app and just want my code to run.
What I get:
My app went stuck every time I open a document
So I create a new project and moved all of my code there
Nothing changes
I think that's because I added Touch Bar support so I clear Touch Bar code off
Still nothing changes, but in the LLDB console there's a message:
2022-06-06 09:17:14.098990+0800 Todos[5747:307926] [default] Failed to get state for list identifier com.apple.LSSharedFileList.ApplicationRecentDocuments Error: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" (Access to list denied) UserInfo={NSDebugDescription=Access to list denied}
And I think there's sth to do with App Sandbox, and I added some File Access configuration.
Nothing changes
Then I realized I forgot to add a development team in the new project
Nothing
ALSO1:
when I changed the Signing Certificate to Development
The message in the LLDB console disappeared.
I couldn't find any reference on it.
ANY HELP IS GREATLY APPRECIATED!!!!!!
The requested version of macOS is not available. Please check if your Mac is compatible with this software.
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)?
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
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
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)
])
}
}
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
}
}
Is it legal if I distribute Ventura 13.0 beta 1 to a beta tester?
It doesn’t seems to
I have a structure TodoItem
struct TodoItem: Codable, Hashable, Identifiable {
var id: UUID = UUID()
var item: String
var done: Bool = false
}
How can I use AppStorage on [TodoItem]?
I want to change a binding value to just a normal one. How?