正在加载视频...
视频加载失败
``` let viewModel = ViewModel(arg) _viewModel = StateObject(wrappedValue: viewModel) ``` Have you ever initialized a StateObject like this? 🤨 As it turns out, this code is actually incorrect and contains a very subtle bug 😱 Let me explain 😌
10 条评论

Cocoanetics 1 年前
OMG I think I have this exact mistake in multiple places!!! Thank you for this!

Vincent Pradeilles1 年前
It’s such a tricky one 🫠

Sau1 年前
Good catch!! I need to fix a couple of them 😂🔥🔥

1Dante1 年前
Wow, I always do as in example, thanks for clarifying this potential issue.

Michael Schwab1 年前
Great content. It happens to be what I’m grappling with right now.

Jakob Joseph1 年前
Init it in .task instead :)

Vincent Pradeilles1 年前
That's also a possibility, but it does require making the values optional, right?

Nicolai Schneider1 年前
Thank you, I’m sure I’ve made this mistake here and there before!

José Gutiérrez1 年前
Do you have the link for the article that you mention in the end?

Dong Nguyen1 年前
I like simplicity, so I will create a static variable in a class that I call ‘Memory’ :D I don’t like viewModel with constructors that have additional parameters.

