Master the basic syntax of Objective-C, object-oriented and runtime features, multi-threading, and memory management. Especially for Runtime, you can refer to the following articles: Objective-C Runtime Method Swizzling and AOP Practice
Understand the entire iOS application life cycle: How is the app started? What are the core objects in the entire app architecture? How does Run Loop respond to and handle events generated when interacting with users? App state switching and multitasking? How does the app end? You can refer to Apple’s official article: App Programming Guide for iOS
After understanding the life cycle of iOS applications, then gain an in-depth understanding of View, Controller and event handling View Programming Guide for iOS View Controller Programming Guide for iOS Event Handling Guide for iOS
After in-depth understanding of View, Controller and event processing, you need to learn to use AutoLayout to adapt to screens with multiple resolutions, and you also need to learn to customize controls and animations Real-time display of the effect of iOS UI code writing Drawing and Printing Guide for iOS Quartz 2D Programming Guide Core Animation Programming Guide
Many applications need to access the network. In this case, iOS network programming and third-party network library (AFNetworking) are required. Of course, you also need to understand RESTful API design and basic HTTP protocol. After capturing the data from the network, the general data exchange format is It is JSON, but it also requires data parsing (Mantle/JSONModel)
After parsing the data, sometimes it is necessary to store the data. There are many ways: files, SQLite, Core Data, etc.
Understand the common architectures of iOS applications: MVC, MVCS, MVVM and VIPER. Please refer to the following article: iOS application architecture talk
The program you write is not only for you to read, but also for others to read. It needs to follow the Objective-C coding standards: raywenderlich Objective-C coding standards
Learn about iOS best practices
I summarize the above points and wish the poster can find a job soon
You already know so much and have four years of work experience, which is more than enough to apply for a junior iOS programmer job. It is true that the iOS community uses AFNetworking more than NSURLSession, but this is actually because the native network communication framework before Apple launched NSURLSession was not very good. If you are new to the industry like you, you can consider using NSURLSession. No matter what, it's never wrong to use the system's native framework. In addition, it would be better if you also use a third party.
Another great opportunity for you is swift. This language has just been launched, and many iOS programmers have not yet started learning it.
You don’t need to look at NSURLSession for the Internet. It’s rarely used in real projects, so check out AFNetworking.
Personally, I think iOS multi-threading is not too complicated. Based on your learning experience, I think View aspects (such as smooth scrolling of UITableView) and common design patterns can be improved. Also take a look at memory management.
To convert to iOS, it feels more important to make a work, which can be modeled after a popular app~
The accepted answers are basically complete. . All "虐完" are estimated to be 30K++ after tax in China (visual estimation of annual salary in the United States is 200,000 dollars), which is terrible. It will take N (N > 2++) years to finish learning + become proficient in application + realize the experience. . . Take my shattered knee. .
I still like the summary, but I can’t agree more. I just thought of adding that E-text reading should be barrier-free. .
Personally, I think it is enough for a junior iOS programmer to have some basic knowledge (UI, UI event processing, network processing, data caching) + know how to Google + be able to move code with some proficiency. . . (Personal definition)
10 steps to become a professional iOS developer - starting from scratch http://www.cocoachina.com/ios/20150617/12165.html
I happened to see it, updated today
Objective-C Runtime
Method Swizzling and AOP Practice
View Programming Guide for iOS
View Controller Programming Guide for iOS
Event Handling Guide for iOS
Real-time display of the effect of iOS UI code writing
Drawing and Printing Guide for iOS
Quartz 2D Programming Guide
Core Animation Programming Guide
iOS application architecture talk
raywenderlich Objective-C coding standards
I summarize the above points and wish the poster can find a job soon
You already know so much and have four years of work experience, which is more than enough to apply for a junior iOS programmer job. It is true that the iOS community uses AFNetworking more than NSURLSession, but this is actually because the native network communication framework before Apple launched NSURLSession was not very good. If you are new to the industry like you, you can consider using NSURLSession. No matter what, it's never wrong to use the system's native framework. In addition, it would be better if you also use a third party.
Another great opportunity for you is swift. This language has just been launched, and many iOS programmers have not yet started learning it.
You don’t need to look at
NSURLSession
for the Internet. It’s rarely used in real projects, so check outAFNetworking
.Personally, I think iOS multi-threading is not too complicated. Based on your learning experience, I think View aspects (such as smooth scrolling of UITableView) and common design patterns can be improved. Also take a look at memory management.
To convert to iOS, it feels more important to make a work, which can be modeled after a popular app~
The accepted answers are basically complete. . All "
虐完
" are estimated to be 30K++ after tax in China (visual estimation of annual salary in the United States is 200,000 dollars), which is terrible. It will take N (N > 2++) years to finish learning + become proficient in application + realize the experience. . . Take my shattered knee. .I still like the summary, but I can’t agree more. I just thought of adding that E-text reading should be barrier-free. .
Personally, I think it is enough for a junior iOS programmer to have some basic knowledge (UI, UI event processing, network processing, data caching) + know how to Google + be able to move code with some proficiency. . . (Personal definition)
10 steps to become a professional iOS developer - starting from scratch
http://www.cocoachina.com/ios/20150617/12165.html
I happened to see it, updated today
To be honest, the accepted answer is a bit scary, I think the request is too high...
Strive for the accepted answer! !