
Run the app in the iOS simulator to test the UI on iPhone 7 and 7 Plus, and compare with interface builder while preparing for auto layout.
Learn how auto layout uses position and size constraints to align views across devices, anchor elements to a top label, and apply horizontal center constraints to resolve alignment issues.
Explore how numbers are stored in memory, including min and max values, signed versus unsigned integers, bit widths, truncation, and type casting.
Explore loops in iOS development: use for and while loops to iterate over ranges, with do-while concepts and break statements. See Pac-Man level progression with lives, points, and randomness.
Explore how Swift handles strings, iterates over characters using the string's characters property, and works with Unicode scalars, extended grapheme clusters, and string indexing with a start index and ranges.
Explore dictionaries as key-value containers, learn dictionary syntax, access via keys, and manage updates, removals, and safe unwrapping of optional values with if let.
Explore how sets enforce unique elements, show insertion outcomes, and demonstrate union, intersection, and contains with examples like movies and contact lists.
Replace the interface label with a text field, drag it in, and set constraints; customize its burnt orange color, font size 70, placeholder, and border, and note keyboard behavior.
Explore how delegates function as callbacks to validate text input in iOS, using a UI textfield delegate to prevent multiple decimal points in a conversion view controller example.
Set up a tab bar controller as the app entry point, link view controllers (Fahrenheit converter to Celsius and maps) via relationships, and switch between them with tab bar items.
Assign meaningful icons from the assets folder to map and convert tabs, giving descriptive titles in the storyboard. This makes features intuitive without explicit instructions.
Add a segmented control to the map view with standard, hybrid, and satellite options using programmatic constraints, and disable translatesAutoresizingMaskIntoConstraints to prepare for anchors in the next lecture.
Learn to create and activate layout constraints with anchors to pin a segmented control to the top, leading, and trailing edges of its super view, using isActive and programmatic constraints.
Learn to apply layout margins to create spacing between views by using the parent layout margins guide and constraining leading and trailing anchors to the margins.
Toggle the iOS map type from standard to hybrid to satellite with a segmented control and a map type changed method, and learn localization for global translation.
Explore internationalization by using locale to format numbers, highlighting how Spain's comma substitutes the decimal point and the need to adapt code for region-specific decimal behavior.
Explore how internationalization handles decimal separators by using the current locale and number formatter to recognize commas as decimals, update the text field delegate, and enable locale-aware computations.
Learn how to localize an iOS app by creating localized strings from the base storyboard, selecting Spanish (Mexico), and testing in the simulator with proper regional settings.
This course is designed for students who wish to learn about the IOS platform. More specifically, this course is designed for beginners who may or may not have any experience with Developing apps for the Apple iPhone using IOS 11. Don't know Swift 4? well this course includes everything you need to get started with this new and growing language from Apple. The course has been carefully designed for students who wish to be taken from a beginner to paid professional. Everyone can get something out of this course as it will cover everything you need to know to feel most comfortable designing and creating your own applications for the Apple Store. Please join me in your journey in becoming a successful apple developer.
Best Practices: (Please Read)
1.) Watch the lecture. Seems self explanatory so let me elaborate; I would prefer students to put your pencils down(not write any code) and watch closely to the lecture and its content. This will allow you to download all important information to your brain before trying it yourself. Also, watch the class in order from beginning to end; students sometimes like to jump ahead, this I cannot recommend doing. The way this class is structured is intended to be done from start to finish line.
2.) After each lecture, please note that the code covered in class is readily available for download. It is my expectation of the student to download this code and load it into their environments to play around and be creative. This is the exercise I expect students to do before moving onto the next lecture. This is an important time for students to go and break things; that's right break the code I give you. In learning to code especially, you learn from fixing what is broken! So I encourage the student to be creative with how they want to treat the downloadable resources; There are no wrong ways to approach this method of learning on your own.
3.) As the facilitator of your learning, if you get stuck on something or would like to share with the class your experience, please add your thoughts and comments to the Q and A section of this course. An open dialogue with myself or other students will reinforce the ideas covered in the lectures.
Note: The brutal truth to learning how to code, is that there are "no free lunches" or experiences of instant gratification. Coding is learned through brute force and trial and error. This method of learning never goes away, as I myself go through it everyday. This class is about learning how to learn, and improving the problem solving skills that you will need to succeed not only in this course, but with the rest of your careers as programmers.