
Explore Swift basics for iOS development, including constants and variables, optionals, and tuples via a coordinates example; learn to use the Foundation library and print statements in Swift.
Learn how Swift performs explicit type conversions, distinguishing narrowing and widening cases with explicit casts. Explore optionals, unwrap methods (optional binding, forced unwrapping, nil-coalescing), and implicitly unwrapped optionals.
Explore swift collections: arrays, sets, and dictionaries using playgrounds to test mutability, initialization, and key-value access, and learn practical patterns for Swift development.
Explore Swift functions, including the func keyword, parameter declarations with types, and optional return types. Learn to call functions with multiple parameters and use explicit and implicit parameter names.
Explore swift control flow, including if, for, while, repeat while, and switch with ranges and dictionary iteration. Learn no break, no fall through unless using comma, and the mandatory default.
Explain classes and structures in Swift, comparing by reference versus by value, with properties, methods, and initializers; note structures lack inheritance and memory management via ARC versus garbage collection.
Demo Project's GitHub Repo: https://github.com/Obaied/SwiftBank
Demo Project's GitHub Repo: https://github.com/Obaied/SwiftLibrary
Create a new iOS project and organize your workspace with groups and a clear directory structure, set up the MVP structure and core data planning for chapter three.
Explore creating a core data entity and its attributes in a library app, using Swift, subclassing NSManagedObject, and generating Core Data classes. See how extensions enhance data handling and persistence.
Learn how storyboard view controllers drive iOS app navigation, using a library view controller with a table view, linked to Swift classes via identity inspector, and tested in the simulator.
Create a dynamic table view with protocol-oriented programming in Swift, wire up interface builder outlets, and implement data source and delegate methods to display core data books.
Learn how to implement auto layout and constraints in iOS, design a table view cell with an image and two labels, and ensure responsive layouts using Interface Builder and storyboard.
Explore stack views in iOS development to align book title and author with an image, centered on the baseline, with controlled spacing, leading and trailing constraints, and long-text wrapping.
Learn how to create navigation between controllers in iOS, embed a navigation controller, and use segues to present a book view with a plus button and Google Books API data.
Design the new book view controller in Interface Builder by stacking a label and ISBN text field, then apply constraints to stretch and reveal the book details below.
Design the new book view controller using a view container and stack views to display image, title, author, publication date, and a scrollable description; ready for Google Books API integration.
Learn to use a Swift utilities file and extensions to simplify networking data handling, JSON serialization, string manipulation, and Core Data saves, with quick toasts for user feedback.
Explore iOS networking basics, reduce boilerplate, and perform simple API requests using URLSession data tasks. Handle JSON responses, and explore a Google Books API example with ISBN search.
Explore posting data to the UI thread by using Grand Central Dispatch to load book details asynchronously, fetch images via URL, and update labels on the main queue.
Demonstrate iOS UI modifications for Android developers by hiding details, disabling library and search until input is valid, and implementing a visual blur progress view during a get request.
Save changes to the chordata database by committing the managed object context. Fetch books with Core Data, update the library table view, and handle loading and errors.
Learn how to delete elements from Core Data in a table view using the commit editing style, deleting managed objects, and persisting changes.
Explore segues in depth by comparing four types—show, show detail, present, and pop over—and learn how to navigate between table views and detail view controllers using a navigation controller.
Design the book detail view controller in iOS development for Android developers, using segues, configuring auto layout constraints for image and labels, and linking outlets.
Pass the selected book from the library controller to the book detail controller via a segue, using prepare for segue, to populate title, author, and image.
Implement the safari view controller from safari services to display book descriptions inside your iOS app. Guard unwrap the description URL and present the Safari interface, iOS 9.0 and later.
Conclude this course by reviewing iOS development for Android developers, covering chapter 1 basics, chapter 2 structure, table views, segues, and networking with the Google Books API.
Demo Project's GitHub Repo: https://github.com/Obaied/SwiftPlayer
>> Note: If you get an "undefined method" error when running "Pod Install", try running this command:
$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
If you're Ruby version is 2.3, then you may have encountered a bug with CocoaPods and Ruby 2.3.
Just run the following command to install the latest beta version of CocoaPods, which solves this issue:
$ gem install cocoapods --pre
Reference: https://github.com/CocoaPods/CocoaPods/issues/4689
Link to Synx: https://github.com/venmo/synx
Design an iOS view with a navigation-enabled table view, a custom cell, image overlays, a play button, and progress indicators, using placeholder assets and constraints.
Fetching a JSON response through a GET request with Alamofire and SwiftyJSON
Learn how to play embedded YouTube videos with YouTube Player Helper Pod
Sync the project to a unified folder structure in the ex-coach workspace via a terminal command, and note that iOS development is easier for prototyping.
iOS Development for Android Developers provides a through introduction to iOS app development using the wildly popular Swift programming language. With almost 7.5 hours of engaging video lectures and all the project files used in the videos, this course is designed to take students with no experience in Swift and little experience in Android to accomplished and COMPLETE mobile app developers.
Why Swift? Since its introduction, Swift has rapidly taken its place as the successor of Objective-C for apps development. Its syntax is easy to read and understand. Its a modern programming language that supports closures, type inference, protocols, class extensions, and so much more. It is 2.6x times faster than Objective-C and 8.4x faster than Python 2.7!
Some of the top-rated iOS apps using Swift are LinkedIn, Strava, Yahoo Weather, Clear, Lyft, Khan Academy, Omvana and much more. iOS developers with strong knowledge in Swift command some of the highest salaries in the development world and are in high demand.
This course takes a very structured approach of teaching Swift. Everything from "Hello World" to Protocol-Oriented Programming is covered. Students acquire skills rapidly through a deep-dive in the world of Swift and iOS development with three chapter projects.
All the projects are done from scratch, limiting the use of shortcuts so students can understand what's really going on under the hood of Swift applications and can design them the way they want. Then with solid knowledge and understanding already in place, rapid prototyping methods are introduced in later parts of the course through the use of CocoaPods; a dependency manager very similar to Gradle dependency manager in Android development that allows the use of external libraries, called Pods, which streamlines the process of rapid development in a professional environment.
Some key features of this course are:
By the end of this course, you will: