Good job! You had few good commit messages. It might be better to use "Add" instead of "Added" or "Adds". Feel free to disagree.
Since this is the first project, I do not expect you to have good commits messages, but in the future, please add a commit for every feature.
Logging
You should be logging every function in your application. This will help you understand your function call order. In production app, you'll likely be logging errors and crashes. You will also be tracking every user action.
I personally add my initials to my log messages on my personal projects because it makes it easy for me to filter because you will receive log messages from various places.
My log messages look like this:
NSLog(@":NC: %@", NSStringFromSelector(_cmd));
UITableViewDelegate
You could also use UITableViewDelegate to navigate to details screen instead of segues.
Add a storyboard id for your details view controller
Step 4
You will instantiate your view controller from storyboard and push it with your navigation controller. Navigation Controller will be nil if you did not embed your view controller in a navigation controller in storyboard.
Missing Files
Style
This is a good reference for coding style: https://github.com/NYTimes/objective-c-style-guide
Class name and File names should start with Capital Letters. ✅
Properties and local variables MUST be camel-case with the leading word being lowercase. ✅
Properties should be accessed using
self.propertyName
instead of_propertyName
. ✅My personal opinion for your naming:
Reusing your details view controller
Think about how you can reuse the same detail view controller when you tap on a cell in your collection view.
Commit Messages
Commit messages should follow these guidelines: https://cbea.ms/git-commit/
Good job! You had few good commit messages. It might be better to use "Add" instead of "Added" or "Adds". Feel free to disagree.
Since this is the first project, I do not expect you to have good commits messages, but in the future, please add a commit for every feature.
Logging
You should be logging every function in your application. This will help you understand your function call order. In production app, you'll likely be logging errors and crashes. You will also be tracking every user action.
NSLog(@"%@", NSStringFromSelector(_cmd));
I personally add my initials to my log messages on my personal projects because it makes it easy for me to filter because you will receive log messages from various places.
My log messages look like this:
NSLog(@":NC: %@", NSStringFromSelector(_cmd));
UITableViewDelegate
You could also use
UITableViewDelegate
to navigate to details screen instead of segues.Step 1
Conform to the
UITableViewDelegate
You'll also need to specify to the table view who the delegate is which is similar to how you specified to the table view who the data source was.
Step 2
Implement
didSelectRowAtIndexPath
method ofUITableViewDelegate
interface.Step 3
Add a storyboard id for your details view controller
Step 4
You will instantiate your view controller from storyboard and push it with your navigation controller. Navigation Controller will be nil if you did not embed your view controller in a navigation controller in storyboard.