Your Second iOS and SwiftUI App · Conclusion |

Hi, is it possible to move tasks between sections using onMove method??

Not yet. SwiftUI doesn’t offer a mechanism for it. (I demonstrate this at the end of the Sections Views episode.) Here’s hoping this changes in three months at WWDC!

Just finished the course. Thanks for the great instructions!

1 Like

Hi Jessy,
I completed course now. However I feel that I did not get all of the things introduced in the course. For example:
Binding,State, Published, use of closures, extensions, your pre-prepared extension files, dependency injection etc. All of this concepts are not clearly for a beginner lever and (mostly said “you will learn about this later”) course turned into following you mechanically. I am not sure relating the course second will make any difference.
I feel that the explanations in th course are not appropriate for a beginner’s level.
I really want to learn IOS development and put my time into it.
Please could you help me.


I’d have to agree with you. As a beginner I felt as thought I don’t exactly have all the steps down as well as he does. I also thought that I was just following along. I don’t think I am quite ready enough to sit down and build an app from scratch without running into a ton of errors. Maybe I have to start building small projects to get the handle of things but it seems like a lot for a beginner indeed.

It seems I am not alone, who felt in this way after completing the course. I also do not feel ready to go forward and complete the other courses on the path. It seems it will be waste of time.

If things go like this probably I will give up raywenderlich and look for another alternative or I will give up IOS development completely.

Try the next one. We’ve gotten good feedback on it! I’ll be updating this course in the summer; here’s hoping it’s actually possible to make Lists beginner-friendly. Otherwise, no Lists! :smiley_cat:

Just finished the course. Thanks for the great instructions Jessy

1 Like

@akchang @amurad Really glad you liked it! Cheers! :]

My honest review after completing Your Second iOS and SwiftUI
Up to section 3 I managed to understand what is going on,…but section 4 I cant pretend I am sure what is going on, there are too many connections from a view to another to loose track veryquickly.
Maybe this will sink in later but for now I have to pause and move on with the rest of the course.

Just finished this course, and unfortunately I didn’t think it was a good followup to the previous Programming in Swift Fundamentals course. In that course, I felt like it was going at a reasonable pace, explaining things well as they came up, and I was able to complete the challenges on my own each time. The instructor for that course spoke relatively slowly, introducing concepts and re-stating them when they’d come back up later in the course. As someone who’s done a fair amount of scripting, there were points where I even felt he was going too slow and would skip ahead, but it’s better to err on that side for people who are new to code altogether, so that’s fine.

With this course, for most of the time I was typing along without really understanding what exactly was going on. I think there’s a few reasons for this:

The instructor spoke relatively quickly, and I sometimes had trouble following along at that pace when he was using a bunch of new terms all together and I needed to remember what each of them meant. I did try using the speed setting on the video but the distortion it creates in the audio is very distracting. I think even just pausing more between sentences and between lines of code would give us more time to process what is happening before moving onto the next idea.

This course assumes you perfectly remember all the content from the First App course. For things like @State variables, types of unwrapping, what the $ means, etc., it would be useful if the first time they’re brought up in this course you took a few seconds to step back and recap what they are again, rather than assuming I remember from the one time I used them two courses ago. Even if you took a couple sentences to do this for each concept, I’d imagine it’d only add 5 minutes to the total runtime of the course, but help a lot with not feeling lost.

I think the biggest part of it is just the jump from writing isolated scripts in the previous course to writing an app in this course. Because there are more advanced concepts necessary to make an app build properly, there are several times where things are glossed over with a “you’ll learn more about this later” but that just left me not understanding what was happening with the code being written and just copying it down.

I think in general with my experience so far on RW, it would help if there were more overlap between the courses, i.e. in each course the previous concepts were reviewed and reinforced as they were put into use, rather than assuming people are perfectly fluent in the content from previous courses.

Overall, after completing this course I don’t really feel like I’ve actually retained much of anything, unfortunately. I think my next step may need to be to repeat the course again and see if that helps.

Oh, also a potential bug report: Everything works fine in the simulator, but I wanted to try out running my app on my phone. Once I got it all set up and ran it, hitting “Edit” didn’t actually change the List view to the editable state with the delete and reorder controls. (It did seem to think it was in Edit mode though because “Edit” changed to “Done.”)

I am running the Big Sur beta, the Xcode 12 beta, and the iOS 14 beta on my phone though so maybe this is just a bug somewhere in one of those :sweat_smile:

Sorry, one more note. I found it confusing that the references are named the same as the classes. E.g. var taskStore: TaskStore and var prioritizedTasks: TaskStore.PrioritizedTasks. It made it hard to follow along when the instructor said “task store” which one he was referring to, and I’d have to watch very carefully in the code for that capital T and infer from that. (Not sure if this is because of convention, but naming them differently would help a lot.)

I really agree with all these comments by noktulo.

In addition, I found that after the instructor typed in a bunch of new things with new, complicated concepts there was a sub-one-second pause, then “build and run!”. I have never had to back up a video more times to catch up with my typing!

I also think the extract “RowView Challenge” was not that useful. I don’t know all the Xcode shortcuts that someone with years of experience knows and I just had to give up and watch the solution – which turned out to be two different and orthogonal solutions. I would recommend that a challenge be built on recently presented materials.

1 Like

I appreciate the feedback from both of you. It’s very useful to us on the video team. Thank you!

As for this, please let me know if you have more thoughts on how you think we might deal with this — it’s a video-specific problem that we don’t need to worry about when just reading and writing! It is convention that if there is only one instance of a type in a scope, the instance’s name is just a lowercase version of the type name.

I try to differentiate, by using articles (e.g. “a TaskStore” or “the TaskStore” have to be instances, and “in TaskStore” has to be within the type or file), but I appreciate that this is more difficult to understand when listening, especially if English is not your first language.

Thank you Jessy. It’s a wonderful course.

1 Like

Thanks for the course, I’ve learned a lot.

1 Like

I have just finished the Nov 2020 version of the this course for Swift 5.3, iOS 14, and Xcode 12. It’s great! I had troubles with the earlier (5.1, 13, 11) version where I commented above – in large part because I hadn’t taken the Swift Functions and Types course yet. This version did get fast and furious in the last few sections where a lot of advanced material had to be imported using your previously written code. I didn’t really get all of that. Too bad the app couldn’t be completed without them. Would a slightly simpler, but less performant model be better for a Beginner tutorial? I guess the current one reinforces how much I still have to learn.

One bug, and I think it may be an Xcode bug with a missing file or a bad link somewhere. When updating images with the photo picker all the photos work except one – the purple flowers image. When running the Simulator I get the following error in the Console: “The file “version=1&uuid=CC95F08C-88C3-4012-9D6D-64A413D254B3&mode=compatible.jpeg” couldn’t be opened because there is no such file.” UserInfo={NSURL=file:///Users/xxxx/Library/Developer/CoreSimulator/Devices/AF16048D-468B-4150-AEB2-C0C7BB88531E/data/Containers/Shared/AppGroup/C4BF4B37-5782-4AA8-81D4-7E622815E719/File%20Provider%20Storage/photospicker/version=1&uuid=CC95F08C-88C3-4012-9D6D-64A413D254B3&mode=compatible.jpeg

1 Like


I’m hoping that future versions of SwiftUI provide a mechanism for propagating Observable Object changes without having to resort to using Combine directly. Until that happens, I think SwiftUI is going to continue to be challenging for a beginner, to get any meaningful work accomplished.

Learn the basics of Combine though, and it’s much easier to produce bug-free apps fast, than it ever was with UIKit!

As for your Simulator error, that’s been a problem with that particular image since the earliest Xcode 12 betas.

i have exact the same feeling. The instructor speak too fast without full explanation. It made a frustrated learning experience.