
Explore mixed language app development by building projects in Xcode that integrate Objective-C and Swift, demonstrating class and function usage across both languages.
Explore how iOS and OS 10 apps use three components—language (Objective-C or Swift), Cocoa and Cocoa Touch frameworks, and the Xcode IDE—to support multi-core processing and threading.
Explore the Xcode integrated development environment, compare Xcode 6 and 7, and learn creating iOS and OS X projects with Swift or Objective-C, including watchOS and tvOS support.
Explore how Swift appears in Xcode, highlighting classes, functions, and syntax like override and super, and how storyboard and Swift files organize a project.
Compare Objective-C and Swift in Xcode projects by creating sample apps, highlighting header and implementation files, and contrasting import, interface, and method syntax.
Explore Cocoa and Cocoa Touch frameworks, starting with AppKit and Foundation. Learn to add frameworks to an OS X or iOS project.
Add iOS frameworks to your project using the general tab, understanding Cocoa Touch and the shared structure with OS 10, while recognizing Swift's seamless interoperability with Objective-C frameworks.
Access Apple’s developer site to learn definitive developer information and tools for building and testing apps across iOS, OS X, and watchOS, including unified beta access after the 2015 revamp.
Enroll as an individual or organization on the Apple developer program, using an Apple ID, for $99 yearly, and access documentation, videos, forums, and bug reporting.
Explore developer program resources, from certificates and profiles to App Store submission, and review documentation types, including guides and references for swift and objective-c.
Explore how Swift and Objective-C coexist, with auditing of API eyes to Swift, bridging between languages, and best practices for using Swift in new projects while maintaining existing code.
Compare the same iOS single view template in Objective-C and Swift, highlighting file structure differences and method invocation: brackets and message sending versus direct function calls.
Explore how named parameters in Objective-C create sentence-like method calls, such as save to URL with a save operation and a completion handler, compared to Swift.
Compare named parameters in swift and objective-c, noting the reversed type and name order, and see how ui document save operations use swift enums in playgrounds.
Explore how to handle missing birth year values with nil or no value in a mixed language app context, avoiding placeholder dates during age calculations.
Explore how Objective-C handles nil, NULL, and NO as distinct states, test for object existence, and understand why collections cannot store nil values.
Explore how Swift handles nil objects with optional UIWindow variables, including unwrapping and conditional checks, and compare storyboard-loaded windows to non-storyboard ones.
Explore how nil pointers behave in Objective-C, that messaging nil is allowed, and why allocating and initializing window and root view controller prevents runtime issues.
Explore how Swift handles nil and initialization in a playground, contrasting with Objective-C patterns like class factory methods and user interface window allocation, and learn declaration and print techniques.
Explore how swift handles optionals, nil, and unwrapping through practical examples of initializing a window and UI views, and using optional checks to safely access unwrapped values.
Explore how Xcode templates create parallel Objective-C and Swift projects, comparing class declarations and protocols for app delegate and view controller to show their shared heart of the hierarchy.
Compare Swift and Objective-C templates to explore view controller declarations, header files, and class references, then navigate inheritance hierarchies and API documentation to understand methods and properties.
Build a meal class in Objective-C and Swift projects to compare object oriented concepts. Create with Cocoa Touch class via new file or via shortcuts, generating h and m files.
Instantiate and initialize an Objective-C class by importing the header file, allocating with alloc, sending init, and logging the instance to the console to verify allocation, initialization, and use.
Create a new iOS app from a single view template in Swift, add a Swift class (Cocoa Touch) to a hybrid project, and print the meal instance.
Compare two in-project classes, a Swift class and a C-class object, to reveal their similarities and differences, including dot m-file usage, header versus Swift declarations, and base-class concepts.
Explore declarations of variables and properties in Swift and Objective-C, comparing syntax in header and implementation files, and explain strong and weak references and memory management with ARC.
Explore how Swift uses variables and optionals, contrasting with Objective-C properties, and understand memory management with ARC, nil, and optional chaining concepts.
Explore how class instances share memory and communicate in a Swift playground, using a meal class with an appetizer property to contrast let versus var and references.
Create a Swift class with an initializer in a playground to set a string property. Pass values via the initializer with external and internal names, and compare Swift and Objective-C.
Set an init value in Objective-C by creating a meal class, allocating an instance, and overriding init to initialize the appetizer property in a private interface within the .m file.
Override init in objective-c, call super init, validate the returned instance, and set the backing variable underscore appetizer to a value, noting the swift–objective-c transition.
Observe how a Swift building class uses a didSet observer on name to automatically update a timestamp string when the name is set, illustrating Objective-C style getters and setters.
Discover how Swift uses getters to access and format properties, with a practical class that exposes a time stamp as both date and string via a getter.
Demonstrate debugging the observer and accessor with a didSet example. Use a computed time interval timestamp (seconds since 1970) to reliably show changes when the building value updates.
Explore observers and accessors in Objective-C by examining a meal class, showing how to synthesize properties, use backing variables, and customize getters and setters during initialization.
Explore how Objective-C defines instance and class methods using hyphen and plus syntax, and examine return values, header versus implementation files, and patterns like allocate and init.
Compare how Swift uses the func keyword to declare functions and omits void return values, while Objective-C relies on hyphen or plus signs for instance or class methods.
Explain lazy initialization patterns in Objective-C for Core Data components, using backing variables and getters to create the managed object model and persistent store coordinator. Compare with Swift's lazy keywords.
Explore Swift-only features such as generics and tuples and their use with Cocoa and Cocoa Touch. Build a Swift playground and implement a generic function, learning parameters and return types.
Explore generics in Swift by implementing a generic function using a type parameter T that accepts and returns any type, from int and string to double and float.
Explore implementing a generic type in a function using T as a placeholder so the input type is returned, enabling ints, strings, and floats to work seamlessly.
Explore using multiple generics in Swift, rename generics, and enforce type compatibility across generic parameters and return values, while navigating Swift parameter labeling and Objective-C legacy conventions.
Explore generics in Swift by using a generic type T-2 for a function's second parameter, ensuring the return type matches, and using the standard library to reveal the mangled type.
Compare Swift and Objective C methods for passing two ints and returning one value, using arrays to wrap multiple results, in a Cocoa Touch class test project.
Learn to return multiple values from an Objective-C method by wrapping two integers in an array of numbers, converting ints to objects, and wiring the .h and .m declarations.
Convert integers to ns number instances, build an array with two numbers, and return it as a single object in Objective-C, then refactor to a single line.
Learn to return an array in Swift by changing a function's return type from int to an array and constructing an array of hints.
In this Mixed Language App Development with Objective-C and Swift training course, expert author Jesse Feiler will teach you how to effectively develop apps for Cocoa and Cocoa Touch with Xcode. This course is designed for users that are already familiar with Objective-C and Swift.
You will start by learning how apps are built, then jump into setting up the development environment. From there, Jesse will explore the main issues, such as brackets and dots, named parameters in Objective-C, and Objective-C nil code. This video tutorial will teach you how to work with classes, declare properties and variables, initialize objects and properties, and declare methods. You will also learn how to create functions and methods, use Tuples in Swift, mix and match Swift and Objective-C, work with switches, and override operators in Swift. Finally, you will learn how to expand your app using an extension or category, as well as how to share your code using Swift and Objective-C.
Once you have completed this computer based training course, you will be fully capable of developing your own apps for Cocoa and Cocoa Touch with Xcode.