# Video Tutorial: Table Views in iOS Part 1: Getting Started

**URL:** <https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847>\
**Category:** 🎓 Courses & Articles\
**Created:** [March 4, 2016, 12:10pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847 "2016-03-04T12:10:16Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![vegetarianzombie](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vegetarianzombie/32/94022_2.png) [@vegetarianzombie](https://forums.kodeco.com/u/vegetarianzombie)\
**Post date:** [March 4, 2016, 12:10pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/1 "2016-03-04T12:10:17Z")

</div>

Learn about the various parts of a table view and how each of those parts work with one another.

 
* * *
 This is a companion discussion topic for the original entry at [https://www.raywenderlich.com/3300-table-views-in-ios/lessons/2](https://www.raywenderlich.com/3300-table-views-in-ios/lessons/2)

---

<div class="post-metadata">

**Author:** ![henriquedrdc](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/henriquedrdc/32/69737_2.png) [@henriquedrdc](https://forums.kodeco.com/u/henriquedrdc)\
**Post date:** [March 9, 2016, 3:07pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/2 "2016-03-09T15:07:02Z")

</div>

First of all thanks a lot for the great tutorial, it’s great but I’m still curious one thing, why did you use extension when you were implementing the TableViewDataSource? What are the advantages?

---

<div class="post-metadata">

**Author:** ![vegetarianzombie](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vegetarianzombie/32/94022_2.png) [@vegetarianzombie](https://forums.kodeco.com/u/vegetarianzombie)\
**Post date:** [March 17, 2016, 7:25pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/3 "2016-03-17T19:25:38Z")

</div>

This is a common question we get asked a lot. Putting code in our extensions is part of our style guide. Here’s what the guide has to say:

_This keeps the related methods grouped together with the protocol and can simplify instructions to add a protocol to a class with its associated methods._

_Also, don’t forget the // MARK: - comment to keep things well-organized!_

Basically, it enforces grouping of your protocol methods instead of having them scattered throughout the file. I hope that helps!

---

<div class="post-metadata">

**Author:** ![henriquedrdc](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/henriquedrdc/32/69737_2.png) [@henriquedrdc](https://forums.kodeco.com/u/henriquedrdc)\
**Post date:** [March 18, 2016, 11:20am UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/4 "2016-03-18T11:20:00Z")

</div>

It did help! Thank you, I appreciate it.

---

<div class="post-metadata">

**Author:** ![ancientmariner](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/ancientmariner/32/81494_2.png) [@ancientmariner](https://forums.kodeco.com/u/ancientmariner)\
**Post date:** [May 12, 2016, 3:28pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/5 "2016-05-12T15:28:22Z")

</div>

The demo starter lacks the Models folder.

---

<div class="post-metadata">

**Author:** ![vladyslavv8](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vladyslavv8/32/102075_2.png) [@vladyslavv8](https://forums.kodeco.com/u/vladyslavv8)\
**Post date:** [June 2, 2016, 2:10pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/6 "2016-06-02T14:10:29Z")

</div>

Hello, sorry for the stupid question, but why check it  
“if let imageView = cell.imageView, bugImage = bug.image { imageView.image = bugImage  
}”  
if i can write the  
“cell.imageView?.image = bug.image”.  
Thx

---

<div class="post-metadata">

**Author:** ![joseph99](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/joseph99/32/81494_2.png) [@joseph99](https://forums.kodeco.com/u/joseph99)\
**Post date:** [June 8, 2016, 2:55pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/7 "2016-06-08T14:55:24Z")

</div>

I have the same question, where you able to find an answer?

---

<div class="post-metadata">

**Author:** ![joseph99](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/joseph99/32/81494_2.png) [@joseph99](https://forums.kodeco.com/u/joseph99)\
**Post date:** [June 8, 2016, 8:47pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/8 "2016-06-08T20:47:24Z")

</div>

See this:

> <https://stackoverflow.com/questions/37711834/how-does-optional-binding-function-different-from-optional-chaining>

---

<div class="post-metadata">

**Author:** ![joseph99](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/joseph99/32/81494_2.png) [@joseph99](https://forums.kodeco.com/u/joseph99)\
**Post date:** [June 12, 2016, 9:17pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/9 "2016-06-12T21:17:10Z")

</div>

I finished the challenge. What is the attribution.txt used for?

---

<div class="post-metadata">

**Author:** ![vegetarianzombie](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vegetarianzombie/32/94022_2.png) [@vegetarianzombie](https://forums.kodeco.com/u/vegetarianzombie)\
**Post date:** [June 16, 2016, 3:54pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/10 "2016-06-16T15:54:57Z")

</div>

As I mentioned in another post, both approaches are valid. In teaching 101 courses, I aim to be explicit with my intent versus being concise. Thanks for the question!

---

<div class="post-metadata">

**Author:** ![vegetarianzombie](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vegetarianzombie/32/94022_2.png) [@vegetarianzombie](https://forums.kodeco.com/u/vegetarianzombie)\
**Post date:** [June 16, 2016, 3:57pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/11 "2016-06-16T15:57:34Z")

</div>

This just lets you know where we got the artwork for the project.

---

<div class="post-metadata">

**Author:** ![randyf](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/randyf/32/110937_2.png) [@randyf](https://forums.kodeco.com/u/randyf)\
**Post date:** [October 12, 2016, 1:05am UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/14 "2016-10-12T01:05:54Z")

</div>

Profiling the **PrettyIcons** project using the **Leak Instrument** I get a memory leak when the static IconSets array is created.

Any suggestions on how to deal with this issue?

 ![](https://raywenderlich-com-v3-forums.s3.amazonaws.com/original/3X/3/4/342bc8342330cfaa7ad90d763cf5fd1f21092af5.png)

---

<div class="post-metadata">

**Author:** ![ancientmariner](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/ancientmariner/32/81494_2.png) [@ancientmariner](https://forums.kodeco.com/u/ancientmariner)\
**Post date:** [October 27, 2016, 7:00pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/15 "2016-10-27T19:00:41Z")

</div>

The Models folder mentioned in the second video of the tables tutorial does seem to exist in any of the download materials. I try to use these lessons for my daughter to use on her own, but she runs up against a wall if the referenced materials in the videos don’t exist in the locations the video says they do (which has happened on numerous occasions, unfortunately). I see that the two files in the Model folder exist under the Icons folder instead. Can you please take care to make the videos and the provided materials sync up please? Thanks.

---

<div class="post-metadata">

**Author:** ![vegetarianzombie](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vegetarianzombie/32/94022_2.png) [@vegetarianzombie](https://forums.kodeco.com/u/vegetarianzombie)\
**Post date:** [November 4, 2016, 4:43pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/16 "2016-11-04T16:43:08Z")

</div>

Hi ancientmariner … I appreciate the note you wrote. We’ll definitely make sure things are consistent when we next update this series. Thanks again for letting us know.

---

<div class="post-metadata">

**Author:** ![stephenl](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/stephenl/32/52251_2.png) [@stephenl](https://forums.kodeco.com/u/stephenl)\
**Post date:** [December 20, 2016, 7:20pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/17 "2016-12-20T19:20:18Z")

</div>

Hi  
My images aren’t shown…  
I think there maybe a compatibility issue with Xcode 8.2 (8C38) ??  
Please advise connect coding for  
if let iconImage = icon.image {  
cell.imageView?.image = iconImage  
}  
Thanks

---

<div class="post-metadata">

**Author:** ![russo](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/russo/32/60357_2.png) [@russo](https://forums.kodeco.com/u/russo)\
**Post date:** [January 5, 2017, 5:02am UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/18 "2017-01-05T05:02:18Z")

</div>

I really like how you add a row its similar to how the Apple’s music app dose it. I’m using Swift 3 and have been trying to figure how to modify your program so I get ‘add a row button’ at the top of the table like Apple Music App not the bottom. Can you help me out with the modification? Thanks you in advance!!!

---

<div class="post-metadata">

**Author:** ![lukic](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/lukic/32/58901_2.png) [@lukic](https://forums.kodeco.com/u/lukic)\
**Post date:** [March 1, 2017, 3:00pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/19 "2017-03-01T15:00:22Z")

</div>

Why course doesn’t exist anymore [https://videos.raywenderlich.com/courses/table-views-in-ios/lessons/1](https://videos.raywenderlich.com/courses/table-views-in-ios/lessons/1)

 ![](https://raywenderlich-com-v3-forums.s3.amazonaws.com/original/3X/3/4/3416fcbd0dc9808404b80b25eeca8fb84e4c99a5.png)

---

<div class="post-metadata">

**Author:** ![bohemian](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/bohemian/32/73223_2.png) [@bohemian](https://forums.kodeco.com/u/bohemian)\
**Post date:** [October 13, 2017, 7:55pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/20 "2017-10-13T19:55:12Z")

</div>

I created a model folder and dragged the 2 Swift files there.

Then select the icon swift class, and in the File inspector on the right, look at the Target Membership. The app target (not the Test target) should be checked. Do the same for the IconSet class. If they are not checked, check it! And now all will be well.

---

<div class="post-metadata">

**Author:** ![bohemian](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/bohemian/32/73223_2.png) [@bohemian](https://forums.kodeco.com/u/bohemian)\
**Post date:** [October 13, 2017, 8:29pm UTC](https://forums.kodeco.com/t/video-tutorial-table-views-in-ios-part-1-getting-started/6847/21 "2017-10-13T20:29:12Z")

</div>

For all who are having the issue where the app loads, but the images are not being displayed.

Go through all the images in the ‘Icons’ and ‘Images’ folders, and in the File inspector on the right, look at the Target Membership. The app target should be checked. Do the this for all files where it is not checked. And now all should be well.
