
Learn to code and build projects from home while exploring how to start your own business, with simple, easy-to-follow guidance.
Discover how to build practical apps from start to finish, navigate the ecosystem, monetize your coding skills, and design promotional images and a compelling website.
Develop core coding skills by building multiple projects, reinforcing fundamentals through practice, and embracing muscle memory with practical, easy-to-understand lessons.
Download Xcode 9 from the app store when available, or join the Apple developer program to access the beta; the $99 account unlocks macOS and iOS betas for testing.
Stay updated as new content arrives and explore user-driven game requests; learn how content is prototyped, recorded, and rendered to deliver engaging videos and respond to viewer feedback.
Learn variables and constants in Swift, with syntax, assignment, and basic primitive types, strings, nil values, and optionals. Explore tuples, type conversions, and operators toward app development.
Explore variables and constants in Swift, learn primitive types, strings, optionals and tuples, and master type conversions and operators to prepare for app development.
Explore what variables and constants are in Swift, how to declare and initialize them, the difference between changing values versus fixed ones, and basic type usage.
Explore Swift's primitive types, including 8/16/32/64 bit integers and unsigned ints, floats and doubles, booleans, and single characters, with notes on grafix float and the distinct behavior of strings.
Explore strings in Swift: understand how strings differ from primitive characters, perform operations like counting, indexing, substrings, and learn multiline strings and string interpolation.
Explore optional variables in Swift, understand nil values, and learn to safely unwrap optionals using optional chaining, nil checks, and if-let or guard-let to prevent crashes.
Explore tuples, lightweight containers that store multiple values of different types, and learn to declare, retrieve by index, decompose, or name tuple elements, noting that the type is optional.
Explore type conversion in Swift by learning how to convert between primitive types, optional types, and strings, with restrictions and practical examples.
Explore assignment and arithmetic operators in Swift, including modulus, string concatenation, unary operations, and compound assignments, with practical examples and notes on order of operations.
Explore Swift conditional operators, including comparison, equality, and logical operators, with practical examples for booleans, strings, and objects, plus the ternary and nil coalescing operators.
Explore arrays and collection types, from basic array declaration and initialization to add, modify, and delete operations, plus multi-dimensional arrays, ranges, and basic topics on sets and dictionaries.
Explore collection types in Swift, focusing on arrays and the difference from tuples. See a game inventory example, learn how to declare and initialize arrays, and perform common operations.
Learn how to create and initialize arrays in Swift in Xcode, including empty arrays and arrays filled with repeated values, with attention to type safety.
Master common Swift array operations by retrieving elements, counting size, and accessing first and last items. Practice modifying an inventory of tuples with append, insert, and removal.
Master multidimensional arrays by creating arrays of arrays (matrices), setting up nested lists, and retrieving elements with row and column indices in Swift’s arrays of strings.
Master ranges in Swift by creating inclusive and exclusive bounds, iterating with for loops, and comparing range behavior to arrays, including infinite and partial ranges.
Master control flow in Swift by learning if statements and its else-if variants, switch statements, nil value tests, and looping concepts, with guidance on when to use each structure.
Explore control flow by using if and else statements to branch code on true or false tests. Learn simple examples, booleans, comparisons, and default behavior in game logic.
Learn how else if statements test multiple conditions and provide a default path. Compare if, else if, and else for handling button presses like left, right, up, and down.
Explore testing multiple conditions with if statements, using and and or operators and nested ifs, to control movement and speed in a game using play position and shift key.
Explore Swift switch statements as an alternative to if-else, learn the syntax, exhaustive default cases, and how to map button presses to x and y position changes.
Explore advanced switch statement techniques in Swift, including ranges, multiple values in a case, and tuple-based patterns with decomposing, value bindings, and where clauses.
Learn to test for nil values in Swift 4 by using if, if let, and guard let to safely unwrap optionals, preventing crashes and handling nil gracefully.
Explore how loops repeat code using while, repeat-while, and for-in loops in Swift, with focus on start and end conditions, loop bodies, and avoiding infinite loops.
Explore the for in loop syntax and its contrast with while loops. Learn to use for loops with ranges, arrays, and tuples to iterate inventory items, including stepping and destructuring.
Explore the difference between while and for loops, then master break and continue control flow, with game loop examples, obstacle collisions, and named loops for complex iterations.
Explore how functions encapsulate code under a name, accept parameters, and return values, then store results in variables or constants, while previewing advanced parameters and tuples for multiple outputs.
Learn the basics of functions, including what they are, how to write and call them, and the four parts: name, parameters, return type, and the function body.
Learn how function parameters pass values into a function, control behavior with a position change, and reduce global variables by using parameters. Examine types, including inout and optionals.
Explore how functions return values with explicit return statements and return types, using arrays, max calculations, and early exits to treat calls as expressions and guide control flow.
Explore parameter variations in Swift functions, including argument labels, omitting parameter names, default values, inout parameters, and variadic parameters to improve readability and flexibility.
Learn to return multiple values from a single Swift function using tuples, shown with an inventory example returning a name and quantity. Extend this approach to more values or arrays.
Explore core concepts like classes, objects, structures, and enumerations, plus properties, methods, inheritance, and struct versus class differences, through hands-on learning objectives.
Explore classes and objects, where a class is a blueprint and an object is an instance with state and behavior, and learn initializers to create game characters.
Learn how class properties act as fields—name, hit points, and inventory—and how to initialize, access, and modify them on a game character instance.
Learn how to customize property access with getters and setters to enforce value restrictions and run code on retrieval or update, using current and max hit points as examples.
Explore calculated properties in Swift, using get and set to derive values like max hit points from base and bonus points. Learn read-only properties and observers like willSet and didSet.
Identify global, local, and parameter variables and where they can be accessed within a class. Use self to reference the current instance and reinforce encapsulation.
Learn how lazy variables delay initialization until needed for memory efficiency, and how static variables are attached to the class and shared across all instances, accessible via the class name.
Explore instance methods and class methods, implementing and calling them on class instances and on the class itself, with inventory management and static walk speed examples.
Explore instantiating classes within a class by modeling a game map that holds a player character, and a list of non-player characters, showing initialization, optional variables, and an inventory.
Explore inheritance in object oriented programming by defining superclasses and subclasses, with examples of a game character hierarchy, casting, and how subclasses inherit and extend behavior.
Override initializers in a subclass to customize setup and inheritance, using the super keyword to call the superclass initializer and add properties like money and inventory.
Override superclass properties to turn read-only into read-write, add proxy observers, and tailor inventory and hit points behavior in a game character, as demonstrated with equipped tool logic.
Override superclass methods to customize behavior, using super calls and run speed logic to move characters by x and y, illustrating inheritance.
Explore structs in Swift, compare them to classes, and learn value types, initialization, properties, mutating methods, and type methods with an inventory item example.
Explore enumerations in Swift, defining a common type for related values, using cases to restrict values, and leveraging raw or associated values with exhaustive switches, via an inventory category example.
Compare classes, structures, and enumerations to reveal when to use each: reference vs value types, mutating methods, inheritance, and copying versus sharing.
Learn the basics of Xcode 9 for iOS 11 and Swift, exploring the interface, file system, storyboard, and how to connect actions and outlets to build a responsive, runnable app.
Explore the Xcode general interface, navigation, and essential windows, including preferences, project navigator, editors, and build/run tools, to start writing code and debugging your app.
Explore the Xcode file system and project structure, including app delegate, main storyboard, assets, launch screen, and info.plist, while understanding build settings and capabilities.
Explore how the view controller coordinates app startup by loading the launch screen, initializing UI elements via viewDidLoad, and connecting the main storyboard to display the user interface.
Learn how to navigate the storyboard in xcode, manage view controllers and ui elements, apply constraints and inspectors, and understand first responder basics for responsive interfaces.
Learn to connect outlets and actions between the storyboard and code in Xcode, enabling a button to update a label’s text and appearance via touch up inside.
Learn to run an app in Xcode by building and compiling, running in the simulator, and debugging with console prints and error messages.
Master debugging in Xcode by using breakpoints, the built-in debugger, and print statements to inspect variable values, step through code with step over, step into, and step out.
Develop a simple calculator app in Xcode with Swift 4, using a numeric keyboard, performing add, subtract, multiply, divide, and displaying the result.
Design the user interface in the main storyboard, placing input and calculator buttons, with actions and outlets ready for functionality.
Connect outlets for the text field and the output label, then create and wire six button actions to read input and update the output, guiding you through interface builder setup.
Plan and implement a simple calculator: capture two inputs, select an operation via an enumeration, store inputs in variables, perform the calculation, and add basic error handling.
Store the first input by converting the text field to a double and saving it as input number one, then select an operation to set addition, subtraction, multiplication, or division.
implement a calculate and clear function using a switch on the chosen operation (add, subtract, multiply, divide), display results in an output label, and reset inputs with a clear action.
Improve input safety by employing guard let and if let to validate numbers, print invalid input messages, and avoid force unwraps, while enabling a number pad with decimal support.
Polish the app’s user interface by adjusting colors, text, spacing, and button styles with a dark theme. Learn the workflow: start with the UI, then implement functionality and refine spacing.
Build an rgb to hex color converter app in Xcode with Swift, converting between hex and rgb(a) values and updating the background color in real time.
Design and implement a user interface in Xcode by adding UI elements such as segmented controls, text fields, and a convert button, then connect outlets and actions for color conversions.
Learn to connect outlets and actions in Xcode to read red, green, blue, and alpha values, convert between rgb and hex, and display the results and background color.
Plan and blueprint the app’s color-conversion workflow by selecting a conversion, processing four text values (red, green, blue, alpha), and updating results and background color through hex-to-rgb conversion functions.
Implement conversion selection between hex and rgb using a segmented control, and handle input from text fields by parsing values and performing the hex-to-rgb or rgb-to-hex conversions.
Implement hex to rgb conversion by parsing hex input with radix 16 and converting to unsigned 8-bit red, green, blue components; normalize to 0–1 floats to create a color.
Implement rgb to hex conversion for beginners in Swift 4, format hex codes as strings, and display hex values and colors in the app UI.
Improve app appearance by adjusting constraints, sizing, and spacing; ensure text fields stay white for readability, adapt text color to background, and apply a consistent font and color scheme.
"This course is excellent. The explanations are comprehensive. The instructor is professional, friendly, and experienced. This will be fun and valuable to my personal toolbox." --Art in Memphis
Want to make apps and learn to code? In Beginner's Swift 4 & Unreal Engine - Learn Xcode, Make Games, you learn to design and code practical apps from scratch!
And learn how to code and make games in the popular Unreal Engine. Learn by building actual games.
No experience necessary. Even if you’ve never coded before, you can take this course.
Included in this course is material for beginners to get comfortable with the interfaces. Please note that we reuse this material in similar courses because it is introductory material. You can find some material in this course in the following related courses:
Learn to code by building 6 games in the Unreal Engine
Complete Unreal & Android Development: Build Games & Code
Complete 6 Games in Unreal Engine 4 and 20 in Construct 2
Unreal Engine Game Mechanics Mastery & MakeHuman 3D Modeling
Complete Developer Masterclass: Learn Angular 2 and Unreal
Master Unreal and Xamarin: Build Professional Games and Apps
Unreal Engine 4 & Android Development: Make 6 Games, 12 Apps
iOS 11 & Swift 4.0 - A Beginner's Guide with Projects
C# Unity and Swift 4 Masterclass: Make Games and Apps
Xamarin Start to Finish Android & iOS Apps (& Learn to Code)
Code in Kotlin & Java for Android and Complete 5 iPhone Apps
Finish 26 Games & Apps Quickly (GameMaker: Studio & Xcode)
Swift 4 and ELM Masterclass | Make iOS 11 apps and web apps!
Learn UI Mobile App Design & Game Mechanics in Construct 2
The Ultimate iOS 11 & Swift 4 Course. Learn to Build Apps!
One of the best features is that you can watch the tutorials at any speed you want. This means you can speed up or slow down the video if you want to.
This course is project-based. You follow along with your instructor to build real projects. The best way for you to learn how to make your own app is to follow project-based training content.
By taking this course, you learn practical, employable skills immediately. You can put the apps you make in this course in your portfolio!
Your purchase includes the eBook "Build 6 Games in Unreal" by Mammoth Interactive (normally $25.99).
Your teachers will teach you practical skills using real-world examples. Take this course to build your portfolio now!