Okay one for the #SwiftUI crowd: Do we have a definitive answer whether a List's selection binding should be Identifiable or not?
Apple seem to play fast and loose with this. Some of their example projects (Food Truck) don't conform to Identifiable, and the Swift header for List only has Hashable as the requirement. Meanwhile the docs say a List's selection should conform to Identifiable.
So what is the truth? What do you do in your apps?
I refuse to sleep until I have found a solution to this, which is unfortunate, as it means I may never sleep again 🥲
I've now officially arrived in crazy town, and started wrapping UINavigationController myself.
What's interesting is that the SwiftUI environment is still automatically adding nav items to the controller, so I've actually got the same broken animations as with NavigationStack. At least it’s…consistent.
Running out of ideas now 😅
Ok I have to be missing something here. If you add a selection binding to a List (let's say you want to edit it), then that seemingly renders all NavigationLinks in the List unusable. Surely not!?
Please someone, anyone, tell me I'm holding it wrong! #SwiftUI https://gist.github.com/phillipcaudell/3b890345efbc36c050d3ec630051c200
Bugs happen, I get it, I write buggy software too. But my god, I have never in my 14 years of writing apps for iOS have the ground move beneath me as much as it has with #SwiftUI. A couple of issues every now and then I can forgive, but it's not. It's every update, something has broken or changed.
It may be a beautifully expressive framework, but it doesn't matter if it doesn't work reliably, all the time, every time.
Something is deeply and systemically wrong with it.
Here's the exact same code running on iOS 16.2. It works just fine.
And I’m sorry if I sound like a twat, but the SwiftUI team HAVE to get a grip on this. I cannot tell you how many hours I waste wondering "Wait, is that something I broke?!”
I'm being gaslit by a UI framework!
Arghhh. Another #SwiftUI regression in 16.4: NavigationSplitView won’t animate the first push of the detail column if the content column goes from List, to no List. Again, this worked just fine in prior releases! https://gist.github.com/phillipcaudell/a125708c3075abcabe9940427c57d1a3 (FB12175649)
On iPad, hitting search will hide the suggestions.
On iPhone, hitting search does nothing, they just get stuck there. https://mastodon.notsobig.co/@phill/110163933612089969
And this is code pretty much lifted from Apple's own docs. Maddening. https://gist.github.com/phillipcaudell/d7282b58f90c8be7e83c27ce78b6d44a
On iPad, the suggestions briefly show, then vanish. Why? I have no idea! It never used to do that, now it does.
(It also doesn't show the icon, for...reasons?)
On iPhone, the suggestions will appear on presentation (great!), but if you tap a suggestion, then type just a little too fast, the caret position gets messed up.
Do this enough, it'll eventually crash, throwing an exception from some private _UIObscurableTextContentStorage class.
The #SwiftUI .searchable() modifier has to be hands down, the most unreliable, inconsistent API to ever come out of Apple.
Not only does the behaviour of it change drastically between dot releases, it's next to impossible to get it to behave in a coherent way across all platforms.
I shouldn't install a minor OS update and have my app change like this. SwiftUI is so bad at this.
And no, I don't want to spend hours filing a feedback!
Web LLM runs the vicuna-7b Large Language Model entirely in your browser, and it’s very impressive
https://simonwillison.net/2023/Apr/16/web-llm/
Yep - confirmed with a small sample app. The issue is due to the fact that on iPhone, token searches open up a full screen ‘Picker' with a search bar on top, so you can select the tokens, or search manually. The problem is that when hitting the ‘search' button (whether you selected a token or not), it doesn't dismiss the picker to go back to your list, it just sits there.
Feedback filed: FB12105057
Anybody else notice the behaviour of .searchable(text:tokens:suggestedTokens:) changed in iOS 16.4? The old behaviour was to hide suggestions on return. Now they always display, and there doesn't seem to be a way to hide them?
I see a bunch of search stuff got deprecated in 16.4, but I'm not using any of that.
This kinda stuff breaking/changing between dot releases is such a huge time sink ☹️ #SwiftUI
🏳️🌈 Founder / Maker
Building that new email app.
Swift and rollercoasters are my thing.
Recovering VC.