Posts

Post marked as solved
2 Replies
264 Views
I just want some experts on Swift to confirm that the following syntaxes are equivalent: if a > b, c > d { } if a > b && c > d { } I consulted "The Swift Programming Lanugage (version 5.7)" but the book does not cover this issue. But I believe it's true because my tests show they are the same.
Posted
by imneo.
Last updated
.
Post marked as solved
1 Replies
207 Views
I remember long time ago I could click on a button in Xcode to launch a Web page to manage iCloud data. But now I cannot find the button.
Posted
by imneo.
Last updated
.
Post marked as solved
2 Replies
246 Views
I want to check if a given string matches a file pattern. Does Swift have builtin support for filename globbing? Or is there any 3rd party packages for this?
Posted
by imneo.
Last updated
.
Post marked as solved
2 Replies
266 Views
I had a customer feedback about a "zero length data" error which was captured using an exception handler and displayed using NSAlert. My app employs [NSURLSession dataTaskWithURL:] to download XML and image data. But I got no idea what it is about. I assume it's related to NSData, but this error never happened before (for years). Does anyone have any idea about the source of this error?
Posted
by imneo.
Last updated
.
Post not yet marked as solved
1 Replies
568 Views
I used to run VirtualBox on macOS to run Windows guests for some reasons. Recently I bought a new Mac mini M1, now I have a problem - VB does not have a stable release for arm (yet). What other options do I have? BTW, I came across this doc article (https://developer.apple.com/documentation/virtualization/running_macos_in_a_virtual_machine_on_apple_silicon). I read thru it, but could not conclude if it offers the same functionalities as a full-blown VM suite; and more specifically I want to run Windows guests.
Posted
by imneo.
Last updated
.
Post not yet marked as solved
0 Replies
243 Views
Is it possible that I bypass tableView.makeView so that I can create a NSTableCellView on the fly (based on some logics)? func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { if NSTableColumn.identifier.rawValue == "labelColumn" { let myCellView = NSTableCellView() myCellView.textField.strinValue = "label text" return myCellView } else { let complexView = loadFromNib() // of NSTableCellView // populate complexView return complexView } }
Posted
by imneo.
Last updated
.
Post marked as solved
2 Replies
337 Views
Does Swift has the syntax that lets me get the default value of a template type T, like below: struct VarLock<T> { private var v = default(T) // or T() }
Posted
by imneo.
Last updated
.
Post marked as solved
1 Replies
365 Views
I know this is a frequently asked question, but... After reading many articles on the net, I am still not sure if I have a solid understanding of the logics behind the design. One of my puzzles around this question is - Is the Swift compiler clever enough so that I can solely rely on its warnings/errors?
Posted
by imneo.
Last updated
.
Post not yet marked as solved
2 Replies
674 Views
Is there any way to get an unnamed property of a tuple given its position? Like below: let record = ("field1", "field2") func getRecordFieldValue(at: Int, of record: (String, String)) -> Any? { // pseudo code record.[at] }
Posted
by imneo.
Last updated
.
Post marked as solved
2 Replies
395 Views
Suppose I have the following function: func doWork(_ someValue: Int, completionHandler: () -> Void) { let q = DispatchQueue() q.async { // Long time of work completionHandler() } } How do I turn it into async function so that I can call it using await doWork()? Are there guidelines/principles/practices for this purpose?
Posted
by imneo.
Last updated
.
Post marked as solved
2 Replies
312 Views
I have the following pseudo code: func load(at packageURL: URL) { let realPackageURL = packageURL.resolvingSymlinksInPath() guard let it = fileMan.enumerator(at: realPackageURL) for case let fileURL as URL in it { print(fileURL) // Get filename relative to package root directory let relativeFileName = String(filePath.suffix(filePath.count - packagePath.count)) } } When called with "file:///tmp/some.app", the enumerated fileURL is actually file:///private/tmp/GIMP.app/Contents/ packageURL.resolvingSymlinksInPath() actually does nothing, I assume /tmp is a hard link. This makes it impossible to get a correct relative path. Is there any remedy for this?
Posted
by imneo.
Last updated
.
Post marked as solved
5 Replies
365 Views
I have a need to read first half and second half of a file concurrently. Is there any best practices for this scenario? BTW, I did research on DispatchIO but it turned out DispatchIO is all about asynchronous operations on a single file handle; it cannot perform parallel reading. // naive approach Task { fileHandle.read(into:buffer) } Task { // seek to file size / 2 fileHandle.read(into:buffer) }
Posted
by imneo.
Last updated
.
Post marked as solved
1 Replies
325 Views
I want to optimize file reading performance. I believe DispatchIO is the solution. Can anyone give some good pointers?
Posted
by imneo.
Last updated
.