Getting Started with Swift 3 – Apple WWDC 2016

Updated to include the latest features, syntax and best practices for Swift 3, this session introduces the basics of the Swift programming language. Learn the recommended manner in which to declare variables, define functions, work with fundamental value types, protocols, generics, and more. Explore some of the great features that make Swift a safe, fast, and expressive language. Learn more about Swift at


ALL ONE says:

So…did “Element” replace AnyObject?

TheTruthSentMe says:

Is there a part two? The video ends prematurely.

Ian Atkinson says:

Is it ever going to get any database support? Coming from a background of .NET, PHP and Perl mostly I’m quite new to Swift and it’s very frustrating that there seems to be no way to make it talk to a MySQL or SQL server database without having to write some sort of intermediate website which seems ridiculous? Apart from that I’m enjoying it although some things seem way more convoluted than they do in C# especially working with tables.

tospig says:

39:06 – 1 is not prime, but 2 is… #maths

nk361 says:

Only one question, why do I have to pay to develop applications for your products?

Benjamin Lupton says:

Pretty amazing intuitive stuff up until that “in” keyword at 27:28. How on earth did that come to be? Asked about it here:

ALL ONE says:

OH, and also…STOP F’ING CHANGING the syntax so much, fools!!!!!!

Humor Demais says:


Rafał Dydkiem Machał says:

Why are most programming languages overcomplicated? Example: why 0..

ALL ONE says:

Oh why oh why include ridiculous things from OBJC in a new ridiculous way? So f’ing ridiculous to be polluting the input tuples with ridiculous inferences. Honestly…is there simply a bunch of ridiculous compromising happening between the OBJC camp and the modern lang camp?!
objc camp: hmmm…want to have OBJC naming conventions…
modern lang camp: hmmm…can’t do that, because this isn’t objc and that would make swift look too much like OBJC…yet CAN add the naming convention into the parenthetical areas!
objc camp: Ummm…then why make a new lang? (because objc camp is wise enough to ask)
modern lang camp: hmmmm…innnnnteresting question…perhaps rebelling against a former ceo…or trying to get people to love OBJC.

sacredgeometry says:

argument labels (great now I have to check every time I am debugging if there is an argument label that moves the goal post) are hideous and mandatory parameter names when calling a function/method are also pretty clunky, I wish you just inferred them from the method signature and order and made the labels/ names optional in the method calling.

Tomas CaseyWilcox says:

Huh, their use tuples is pretty impressive.

The Pretty Unicorn says:

@ 17:00, why not just type:

func SendMessage(Shouting: Bool) {
var message = “Hey there!”
if Shouting { print (message.uppercased())}

SendMessage (Shouting: true)

I don’t know though, I’m a beginner, it just seems quicker this way.

koreamedia says:

I’m just starting to learn swift language. My concern is that is it changing a lot every year since it is a kind of new language?? I wish I could use just c++ for my beautiful ipad app, but it seems that I should learn swift for the goal.

Fuzail Shaikh says:

Best overview video for swift

ALL ONE says:

let swift=much more like javascript than it is now and stop trying to act weird like OBJC…because OBJC is already the weirdest so stop trying to compete
let objc=primary language that will ABSOLUTELY continue to be supported for as long as Apple is a company.

ALL ONE says:

By the way, F’ING MAKE PLAYGROUNDS FUNCTION PROPERLY!!!!! Seriously RIDICULOUS that they don’t, considering how much bragging there is in the video about how many years swift has been around and how “awesome” (no it isn’t) some people at Apple seem to foolishly believe it is.

Andrew Rohn says:

BASICS: variables, collections, loops, control flow

00:33 In the next 60 minutes you’ll learn enough Swift to read it and hopefully write it.
00:50 Constants: let isAwesome: Bool = true
01:45 Type inference: let isAwesome = true
02:06 Variables: var version = 1
02:38 String interpolation: let message = “Hello, (conference)!”
04:38 Collection types: Array or Dictionary
let names = [“jim”, “sara”, “jon”]
let ages = [“sam”: 12, “tom”: 47, “tim”: 19]
06:08 Loops: while, repeat-while, for-in
07:47 Modifying collections:
myArr[2] = myVal
myDict[myKey] = myVal
10:29 Optionals:
letPossibleVal: Int? = myDict[myKey]
11:30 If-Let statement: If the value exists, it unwraps it and we can use it in the block.

Mohammed Barwani says:

Apple can you make new powerful game engine like unity

Will Hutson says:

Really nice video, I’ve just uploaded a game the App Store called Rebounder, it would be great if some of you guys could check it out!

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!