Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS

Amit Bijlani
STAFF
Amit Bijlani
Treehouse Guest Teacher

Swift - FAQ

Today Apple announced the release of a brand new language called Swift. This is a paradigm shift and one that was desperately needed by the community. Objective-C is a relic of the past which was showing its age. Apple has been trying to update the language but it had a long way to go. With Swift they made a clean break. Now we get a modern language that has features found in languages like Ruby, Python, Go, etc.

Here are some of the highlights of the language according to Apple:

  • Closures
  • Tuples and multiple return values
  • Generics
  • Enums and Structs
  • Optional chaining

These are some advanced features for a language that looks deceptively easy to learn. Swift is not just new syntax but it's a completely new language from the ground up.

We've received several emails and tweets with questions about Swift. This post will try to address most of those questions. Feel free to ask any other questions that I may have missed.

Q. When will you have a course on Swift?

A. Apple has a Non-Disclosure Agreement (NDA) on all new technologies they announce at WWDC, which means nobody can publicly talk about them until the official release of iOS in the fall. We could have a course swiftly, however if it falls under the NDA then we can't release it until the public release of iOS.

Apple has released a book on Swift and our guess is that the language might be exempt from the NDA but not the tools. We cannot teach the language without being able to use the tool (Xcode). We are trying to get the official word from Apple.

Q. I just started learning Objective-C, should I just learn Swift instead?

A. As mentioned above, Apple has released a comprehensive book on the language so by all means start learning Swift. After glancing through the book I believe that on some levels Swift may be harder to learn because of the advanced features mentioned above. My suggestion would be to continue learning Objective-C, although it may look difficult syntactically but conceptually it's a much simpler language and great for a beginner. Once you get the hang of Objective-C then switching over to Swift will be a lot easier because the two languages are quite similar.

Q. Will Swift take over Objective-C?

A. For now, Apple is supporting both the languages so Objective-C is not going anywhere. There are 1.2 million apps in the App Store and I'm pretty sure majority of them are written in Objective-C. Rest assured, if you are looking for a job then most probably your future employer has an existing app that is written in Objective-C which you will have to learn inevitably.

Eventually, developers will start switching over to Swift and you will see a wider adoption of the language but do not expect existing projects to completely overhaul their apps to use the new language. Swift is here to stay and Objective-C will ride into the sunset but this whole process will take a while.

Hello, is there an ETA on when you anticipate to come up with the new SWIFT course?

Ben Jakuben
Ben Jakuben
Treehouse Teacher

The Apple event is on 9/9, and the NDA that prevents organizations like Treehouse from making tutorials with the latest version of Xcode should be lifted within a week or so after that... :)

The following Swift courses were released this morning (Sept 17th) ...

These courses are organized into the iOS Development with Swift track.

James Barnett Amit Bijlani - Is that the order in which we should consider doing the courses?

Edit: Nevermind. Just got the "teacher email" from Amit after completing "Swift Basics" saying the next course would be "Swift Functions and Optionals". Patience is a virtue I have yet to attain. :)

Reuben Varzea You can follow iOS development track to do them in order ;) http://teamtreehouse.com/tracks/ios-development-with-swift

Thanks Ilja Daderko. :) Hadn't even seen the full track. Had just added the individual courses to my Home screen.

Dear Amit Bijlani ,

I just finished the Swift Track. I just feel its not as strong as the Objective C track. Yes I learned to do my first application that connects to a third party API. But after all I don't know how to Store data nor use iPhone hardware like Accelerometer or make an animation for a group of sprite images. I founded that available in the Objective C course. But converting from Swift to Objective C to understand the concepts is very confusing. Is there is near coming courses in Swift that will fill this gap ?

Thank you

Mostafa Raafat See my question at the bottom of this thread. :)

27 Answers

I am glad I signed up with Team Tree House

Second that Dino!

third!

third!

fourth!

fifth!

sixth!

7th

Thanks Amit Bijlani for this thorough FAQ.

For those of you interested in learning Swift, welcome to the early days of any new language! There will be little documentation and tutorials outside of what is officially released from Apple - up until they give their okay for others to release material.

I have a suspicion that this may happen sooner, as the demand for training from developers will be extremely high, and it would be in Apple's best interest to continue the momentum.

The nice thing is that many of Treehouse's tutorials touch on the principles of programming, which can be applied to almost any language. From the initial 10,000 foot view, it's clear that understanding Objective-C will benefit you still when it comes to learning Swift.

I'm looking forward to putting Swift through its paces!

just in case anyone is wondering how to download the Xcode 6 beta. you must first agree to the newly updated terms. then at the top of the ios dev center page there are two tabs that switch from iOS 7 SDK and iOS 8 Beta. the Xcode 6 download is available under the iOS 8 beta downloads section.

:3 hey I know this is a noob question, but how do you add links to comments or tag somebody in treehouse to ask them a question?

Kalson Kalu, you type "@" and then their name. Links are done like this: "[link text](URL)" without the quotes.

My developer license lapsed last month (been doing more Ruby learning so thought I'd wait to renew). Will wait until I see you all release your course. I've already gone through the book a little, but guidance is always preferable. :)

Thanks Amit! I have the Swift book in and and I'm about to download Xcode 6!

Do you have any pointers for getting started at least? I'm having trouble finding any docs specific to Xcode 6. Just stuff geared towards the syntax of the language itself.

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

If you want to play around with Swift then the best way to do it using the Playground feature. Open up Xcode 6 then from the menu select File -> New -> Select Source on the left -> Select Playground on the right. The Playground is a great way to practice the language. We will posting code of the Crystal Ball app using Swift soon.

I can't wait for that!

Looks great! Thanks so much!

The Playground is soooooo much fun! I love Swift already!

Here is a link to Flappy Bird created with Swift

https://github.com/fullstackio/FlappySwift

already! your the man make us a tutorial lol

LOL I did not make it, just found it :)

:P

Amit, while we are waiting for the Treehouse Swift class can you turn these blog posts into short videos? I am more of a visual learner and what I do is just watch the videos over and over! Sometimes from my iPhone! :-) A video is worth 1000 pictures!

http://blog.teamtreehouse.com/understanding-optionals-swift

http://blog.teamtreehouse.com/an-absolute-beginners-guide-to-swift

http://blog.teamtreehouse.com/should-i-learn-swift

Good idea, Marcus!

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

For me to teach a Swift course effectively I would have to teach it using the latest version of Xcode and the playground feature both of which are under the Apple NDA until the public release of iOS. We are already working on a completely new Swift based track which we intend to release once the NDA is lifted.

That said would you be interested in a Swift course that explained the code with me actually typing it? You could follow along by typing it yourself in the playground but we couldn't show you the playground in the video. Or as you mentioned you could simply watch the video while on the go.

Amit, yes absolutely I would be interested in a preliminary video course that does not violate the NDA. If you could do a preliminary video course that covers the Swift's modern programming language concepts like the ones listed below:

Closures unified with function pointers, Tuples and multiple return values, Generics, Fast and concise iteration over a range or collection, Structs that support methods, extensions, protocols, and Functional programming patterns, e.g.: map and filter

The above modern language features are the ones that programmers brag about but they tend to be misunderstood and often not used by many programmers.

And also if you could cover the Swift "safe programming" features where the language guards against "null values" and also buffer overflows would be fascinating.

A lot of us can't wait until iOS 8 ships to learn the language and we don't want to be left behind. :-)

Too bad the NDA is so limiting... but I'd still like to see the playground in action. Maybe Amit Bijlani could teach the basics in Sublime Text 2 but release the advanced projects later on when Apple allows it.

I would assume that since its using the same compiler then yes, apps written in Swift should function on older devices. BUT... I could be wrong. :)

+1 for a course :D

I was kind of hoping that I could master Swift because I jumped onto the Objective-C train a little too late. I don't have a Developer license yet, so I can't use .playground. Amit Bijlani , do you think it's worth it to get a license now or should I just wait until fall?

@Amit: Hi Amit, I recently started the iOS course on Treehouse and had a question regarding Swift. In the course on Treehouse we are taught about the MVC model but the Swift book doesn't discuss anything related to it. I'm confused as to how the new language will be implemented and how developers will learn how to use the new language in conjunction with the existing tools. Also things like the storyboard in XCode and how we can program our view aren't discussed at all in the Swift book.. Could you give your opinion regarding the same?

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

The book is focused primarily on documenting the language and its features. Apple assumes you know how to write apps already so they leave the rest up to you. I guess this is where we come in, to teach you how to build apps using Swift. As I mentioned in my FAQ. Learning Objective-C is not going to be obsolete overnight. I would still encourage you to go through the current iOS track because once you understand the language and APIs it will be easier for you to make the switch to Swift.

is it going to work on ios 7?

Sorry, Amer Dababneh , should have added the comment to your question. :)

"I would assume that since its using the same compiler then yes, apps written in Swift should function on older devices. BUT... I could be wrong. :)"

Thanks Reuben :)

Thank you Amit! Thank you so much!

After the announcement of Swift I decided to finally give iOS development a go. I can learn the language myself, but I'd like some guidance on patterns and frameworks. That's why I'll be going through iOS Track. I believe that currently there is no way to skip Obj-C course? Or maybe I shouldn't as it doesn't purely focus on the language aspect of iOS development?

if you are doing the iOS track you want to do the obj c course first. I would not skip it. The iOS courses after that assume you have a pretty good grasp of the objective C language basics that are covered in the first course. Its a very short course and it will be well worth the time.

Once you do release a course, lets say after iOS 8 launch, will it be a "fresh start" type of course, so how to use swift for iOS development beginners guide, or will you build upon knowledge demonstrated in Objective-C based tutorials?

I'm hopeful that they'll do a "beginner" course, or at the very least an intro to Swift just to ensure that people just starting out get an introduction to the syntax. In reading through the Swift iBook, it does seem that there are enough subtle differences that warrant introduction, especially for those still in the early days of learning.

Reuben Varzea yes, I have been reading through the manual as well, swift is really interesting and this change made me interested in iOS development, I really hope they will cover iOS development practices from the very beginning, as this is not covered in iBook

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

We will be doing a course and track from the ground up so you get to learn iOS development from a completely fresh perspective with no previous knowledge. I think a lot of people are going to be interested in learning iOS development now since the syntax is a little easier to understand.

I agree Amit. Can't wait for the new course.

Aaron Ackerman init! also, does anyone know if CloudKit requires a developer account? This seems like a great tool to learn about in addition to all awesome things!

I'll see what I can find on the forums I assume that it would require at least an iCloud account.

Right now to my knowledge Cloudkit is limited to a paid developer account. I recently renewed my account and saw i able to access the dashboard for it.

Will the CloudKit compete with Parse.com?

For sure! But probably only in iOS dev area, remember parse is a great tool working for other platforms like android and win phone, as well as they offer some additional features that CloudKit doesn't, I guess we'll have to see, but I'd love to learn more about CloudKit.

Cool, thanks for your answer.

I can see Udemy already published their course on swift why not you?

Larry Rust
Larry Rust
13,957 Points

Really? Don't see anything on their site. Either way Teamtree house will rock it soon enough.

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

We saw that too and they are clearly violating Apple's NDA by showing the latest version of Xcode. They might not care about their relationship with Apple but we most certainly do and want to avoid any legal hassles. My recent blog post "An Absolute Beginners Guide to Swift" covers everything that course does and it is free!

I don't see it.. Looks like they took it down. : ) #Treehouse > Udemy

Here is the link i still can see. https://www.udemy.com/swift-learn-apples-new-programming-language-by-examples/

but i don't think Udemy course will be better than TTH. I love TTH tutorials.

Udemy is a cool platform, but it doesn't have the unity or quality level of Treehouse IMO. I feel like I could become an instructor on Udemy... "Making bagel pizzas when you need a break from learning ... LIKE A BOSS!"

Larry Rust
Larry Rust
13,957 Points

Ah yes, I didn't search for it later and found it. Your right Lincoln, TTH will rock it more effectively and cheaper. Udemy's pay for each course and its price tags are not a good business model when most things are subscription based.

Guys i would suggest to follow Amits Great blog post about SWIFT http://blog.teamtreehouse.com/an-absolute-beginners-guide-to-swift I just love it.

Bet that Udemy's courses aren't as good as TTH! >:D

hell yeah! looking forward to the best in the business at the swift track!!! thanks amit for the informative letter

Looking forward to it myself. I've been through the Objective-C courses, and enjoyed them, but I'm excited at the possibilities that Swift makes available!

those who really want to learn swift will already be on the forefront by the time treehouse releases a course since there is plenty of resources out there already

Larry Rust
Larry Rust
13,957 Points

Exactly, but its too bad third party businesses can't teach it to iOS developers that have the access to the necessary beta tools/OS. To me that doesn't make sense having such stipulations in the NDA governing that. One of the main selling points during WWDC14 was to entice and attract more developers, waiting until fall per NDA doesn't progress us noobs any faster. Oh well, there are a lot of resources out there as Johannessen mentioned.

Yeah, its too bad

It would be cool if Apple worked out something where third parties could have a separate login or auth for registered developers and from there you could do “beta” courses from Apple's pre-release stuff. Amit Bijlani

Hello, I started Swift with practically no programming experience, and am now about to start building the basic iPhone app. Yesterday, I could've sworn I saw a lot more than four units for Swift and today I don't see them. This, I could just be imagining. My question is really: is this the whole track or will more be released for this track later in the game? If so, any ETA yet? :) Thank you!

there are only 4 swift courses available right now. Swift Basics, Swift Functions and optionals, build a simple iphone app with swift, and the weather app course.

I think it's safe to say that more swift courses will be released in the future.

Thanks. Any ETA? Just curious. :)

Not at the moment. You can always keep an eye out for it here:

http://teamtreehouse.com/roadmap

Ben Jakuben
Ben Jakuben
Treehouse Teacher

Yep! Watch the roadmap and Amit Bijlani and Pasan Premaratne will add more course details as the dates firm up. :)

I appreciate it, guys.

Really enjoying the current Swift track. Are there any plans to extend it in the near future? I would be interested to learn how to build more apps that make have greater functionality.

Thanks!

We definitely have plans for more Swift content! Right now Object-Oriented Swift is in the works expected to be out this month.

Thanks Geoff!