# Your Second iOS and SwiftUI App · Extensions | raywenderlich.com

**URL:** <https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423>\
**Category:** 🎓 Courses & Articles\
**Created:** [October 9, 2019, 2:17pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423 "2019-10-09T14:17:05Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![jessycatterwaul](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jessycatterwaul/32/110937_2.png) [@jessycatterwaul](https://forums.kodeco.com/u/jessycatterwaul)\
**Post date:** [October 9, 2019, 2:17pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/1 "2019-10-09T14:17:05Z")

</div>

* * *
This is a companion discussion topic for the original entry at [https://www.raywenderlich.com/5662524-your-second-ios-and-swiftui-app/lessons/19](https://www.raywenderlich.com/5662524-your-second-ios-and-swiftui-app/lessons/19)

---

<div class="post-metadata">

**Author:** ![drerucha](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/drerucha/32/89062_2.png) [@drerucha](https://forums.kodeco.com/u/drerucha)\
**Post date:** [May 3, 2020, 5:11am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/2 "2020-05-03T05:11:21Z")

</div>

I just wanted to chime in and say that I don’t think this video is very beginner friendly. Having to dive into more advanced Swift topics is fine, but I think this video is lacking some explanations about why the `IndexedCollection` and `ForEach` code needs to be written in the first place. What problems does this solve for us? I was completely lost while watching this.

---

<div class="post-metadata">

**Author:** ![vgadkari](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vgadkari/32/81494_2.png) [@vgadkari](https://forums.kodeco.com/u/vgadkari)\
**Post date:** [May 5, 2020, 8:33pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/3 "2020-05-05T20:33:15Z")

</div>

Just some feedback, I feel like having beginners jump into building a second swiftui app before doing the functions and types course first may be discouraging for some. For me, I am only experienced in Java, so to go from that to a framework with so many functions and little explanations is kind of confusing. Is this the ONLY way that an app like this could be built?

---

<div class="post-metadata">

**Author:** ![jessycatterwaul](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jessycatterwaul/32/110937_2.png) [@jessycatterwaul](https://forums.kodeco.com/u/jessycatterwaul)\
**Post date:** [May 6, 2020, 6:08am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/4 "2020-05-06T06:08:00Z")

</div>

At present, basically, yes. That could change in a month and a half! [https://developer.apple.com/wwdc20/](https://developer.apple.com/wwdc20/)

---

<div class="post-metadata">

**Author:** ![alexhl](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/alexhl/32/102075_2.png) [@alexhl](https://forums.kodeco.com/u/alexhl)\
**Post date:** [May 13, 2020, 7:42am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/5 "2020-05-13T07:42:15Z")

</div>

@drerucha is right. It is really not a beginner friendly. And some explanations seems to be insufficient to understand concepts clearly. For example: **In Part-3: Video: 19-Extensions** (around 2:00 mins) there is a demo(user adds new task → new task is not shown in the list → user deletes a task and new task is shown in the list → user try to delete another task and app crashes). There is no explanation for any of these:  
1- why new task was not shown?  
2- why new task was shown after deleting a task from the list?  
3- why app crashed when trying to delete the second task?  
Really, without explanations of all of these and going over code(may be in a debug mode) to show the problem to students, it does not make any sense.  
The only explanation in the video is “data and UI are not sync”. These explanation really does not help. it is only stating the result, reality. As a student, you want to know where/why/how caused this.

---

<div class="post-metadata">

**Author:** ![brunomj1997](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/brunomj1997/32/81494_2.png) [@brunomj1997](https://forums.kodeco.com/u/brunomj1997)\
**Post date:** [May 14, 2020, 2:56am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/6 "2020-05-14T02:56:25Z")

</div>

I have rewatched all videos in the learning path at least 4 times each and this part still makes no sense to me 🤯, WWDC is a few days from now If there is an update in many things here I hope it doesn’t take too long to upload the videos 😭

---

<div class="post-metadata">

**Author:** ![dragoon7](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/dragoon7/32/81494_2.png) [@dragoon7](https://forums.kodeco.com/u/dragoon7)\
**Post date:** [May 16, 2020, 12:20am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/7 "2020-05-16T00:20:15Z")

</div>

Hi there I’m having an error where I’m getting an "Invalid redeclaration of “RowView”. The only place that I’ve declared RowView is at the bottom of ContentView.swift and I instantiate it up in the ForEach. Also I have a declaration of RowView in the RowView.swift file, however you did the same in your video so I’m unsure I made a mistake.

Thanks! 😃

---

<div class="post-metadata">

**Author:** ![jessycatterwaul](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jessycatterwaul/32/110937_2.png) [@jessycatterwaul](https://forums.kodeco.com/u/jessycatterwaul)\
**Post date:** [May 16, 2020, 2:46am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/8 "2020-05-16T02:46:20Z")

</div>

Upload your project and I’ll have a look!

---

<div class="post-metadata">

**Author:** ![amurad](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/amurad/32/110937_2.png) [@amurad](https://forums.kodeco.com/u/amurad)\
**Post date:** [May 17, 2020, 6:10pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/9 "2020-05-17T18:10:50Z")

</div>

I think you might have forgotten to delete the RowView declaration at the bottom of ContentView.swift. 😀

---

<div class="post-metadata">

**Author:** ![sunil-kumar](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/sunil-kumar/32/81494_2.png) [@sunil-kumar](https://forums.kodeco.com/u/sunil-kumar)\
**Post date:** [June 14, 2020, 6:44pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/11 "2020-06-14T18:44:19Z")

</div>

I’m getting the same error as **Use of unresolved identifier ‘RowView’**

I have created separate class for RowView and below is the code for the same class.

struct RowView: View {  
@Binding var task : Task  
var body: some View {  
Text(task.name)  
}  
}

**struct** RowView\_Previews: PreviewProvider {

**static**  **var** previews: **some** View {

RowView( task: .constant( Task (name: “To Do”) ) )

}

}

When I try to initialise that class in other class under ForEach block. I’m getting the error. can some one help me out.

List{  
ForEach(taskStore.tasks.indices) { index in  
RowView(task: self.$taskStore.tasks[index])  
}  
.onMove { sourceIndeces, destinationIndex in  
self.taskStore.tasks.move(fromOffsets: sourceIndeces, toOffset: destinationIndex)  
}  
.onDelete { indexSet in  
self.taskStore.tasks.remove(atOffsets: indexSet)  
}  
}

**NOTE: New task is not getting added due to this issue.**

---

<div class="post-metadata">

**Author:** ![bendrexl](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/bendrexl/32/81494_2.png) [@bendrexl](https://forums.kodeco.com/u/bendrexl)\
**Post date:** [June 21, 2020, 12:39am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/12 "2020-06-21T00:39:09Z")

</div>

I breezed through the ‘1st Swift App’ course, learning small things all along but never feeling stuck or even having to replay more than a couple videos. I even picked up enough to make my own customizations to the app as we went along, which actually made the process fun.

This episode however, introduces a lot of stuff (even if it is just in passing), but I don’t feel like I understand the ‘why’ well enough to even fit the new info into a mental model for later use. That’s a bit discouraging.

I did a bunch of digging as I went (thanks to Ray’s repeated suggestions to use Opt-Click for “Quick help” in the 1st App course), and was able to fill in a few blanks on my own. but I’d rather have this course broken down to fit a ‘beginner’ learning curve a bit better.

---

<div class="post-metadata">

**Author:** ![tomp](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/tomp/32/81494_2.png) [@tomp](https://forums.kodeco.com/u/tomp)\
**Post date:** [July 1, 2020, 8:18pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/13 "2020-07-01T20:18:50Z")

</div>

Jessy, I was just wondering if you saw anything in the WWDC 2020 videos that suggested there will now be a cleaner way to accomplish the same thing as in this section of your course but without having to use RandomAccessCollection extension code. I’m not looking for that solution here, but was more just curious if you saw anything that might simplify things going forward. Thanks!

---

<div class="post-metadata">

**Author:** ![jcatterwaul](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jcatterwaul/32/94210_2.png) [@jcatterwaul](https://forums.kodeco.com/u/jcatterwaul)\
**Post date:** [July 3, 2020, 4:09am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/14 "2020-07-03T04:09:38Z")

</div>

I’ve watched all the sessions, and tried out a lot of new stuff, but nothing so far has been the obvious answer for what you’re looking for. I’ll be working on the update to this course later this month though. Here’s hoping!

---

<div class="post-metadata">

**Author:** ![mrossi](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/mrossi/32/90932_2.png) [@mrossi](https://forums.kodeco.com/u/mrossi)\
**Post date:** [July 8, 2020, 8:54am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/15 "2020-07-08T08:54:12Z")

</div>

I added them to the project copying in the same folder as _TaskList_.  
I went to _Files\>Add files to “TaskList”…_ and added them.  
Is this the proper way of adding them?  
Later in the course it looks like they aren’t used.

---

<div class="post-metadata">

**Author:** ![iusebiro](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/iusebiro/32/92099_2.png) [@iusebiro](https://forums.kodeco.com/u/iusebiro)\
**Post date:** [August 30, 2020, 2:41am UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/16 "2020-08-30T02:41:53Z")

</div>

I agree with the above. I’d been following solidly for the learning path so far, and getting a HEAP out of it. But jumping straight into creating this app feels like I’d skipped multiple modules. It’s basically just me copying what is being typed with absolutely zero understanding why I’m doing it and how.

---

<div class="post-metadata">

**Author:** ![shogunkaramazov](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/shogunkaramazov/32/108826_2.png) [@shogunkaramazov](https://forums.kodeco.com/u/shogunkaramazov)\
**Post date:** [March 25, 2021, 11:32pm UTC](https://forums.kodeco.com/t/your-second-ios-and-swiftui-app-extensions-raywenderlich-com/84423/17 "2021-03-25T23:32:01Z")

</div>

Please check out the updated version of the course when you get a chance:

[https://www.raywenderlich.com/15234721-your-second-ios-and-swiftui-app](https://www.raywenderlich.com/15234721-your-second-ios-and-swiftui-app)

I hope it helps!
