iOS development knowledge system

iOS development knowledge system

[[142566]]

I have read a blog before, where the blogger sorted out a mind map of the knowledge and ability system of iOS development. Click here to transfer. The author sorted it out very well but expanded it a lot. If it is for beginners, it will be scared away. Here I will try to sort out the knowledge system for iOS beginners.

Development Environment

Mac

Mac mini, Mac book, iMac, Hackintosh, OS X virtual machine are all fine, but if you really want to do iOS development, you'd better not use Hackintosh and virtual machine, which will directly affect your interest in iOS development. Similarly, if you use a MacBook, it will greatly increase your interest in iOS development (MacBook is the best programmer computer). PS: How to use Mac elegantly

Xcode

Go to the Apple Developer Center to download and install. You can now start directly from Xcode 6.
Here's how to use Xcode

So far you have been able to quietly develop a "Hello world" running on the iOS simulator

Developer Account

It is not necessary, but if you want to run your own program on the iPhone, it is indispensable. Of course, if you are not an independent application developer, your company should generally have it. Just let the Agent or Admin invite you to join.
Here's how to understand the developer account

Development Language

For any new technology, I think learning its language is definitely necessary and the first priority, and iOS development is no exception. For now, you should have some understanding of the three languages ​​​​Objective-C, C language, and Swift, of course, the focus is still Objective-C.

Objective-C is the most important thing, you must learn it thoroughly.

C language is necessary for beginners to understand and is a must for advanced learners.

Swift is a future star, and it will be a success sooner or later.

iOS SDK

Learning iOS SDK may be the most time-consuming knowledge for beginners. Because there are a large number of libraries that we need to learn and master. The most basic ones are:

Foundation.framework

When you are learning to use iOS, you will encounter a large number of class libraries with the prefix "NS". These class libraries basically belong to Foundation.framework, which is the core library for iOS development, including: common data structures (NSArray/NSDictionary/NSString, etc.), networks (NSURL../NSHTTP..), multithreading (NSThread/NSNSOperation), etc.

UIKit.framework

Libraries with the prefix "UI" are included in this framework. Most of them are UI-level controls of the system, such as UIViewController, UIView, UIButton, UILabel, etc. Only by using these controls can a complete APP be built.

QuartzCore.framework

The gorgeous and smooth animation effects in iOS are a great tool to attract people. If you want to create such effects, you have to understand this library. The core animation APIs of iOS are all included in this framework. Learning to use it can make your APP more eye-catching.


Of course, there are many frameworks in the iOS SDK, each of which is responsible for its own part. For beginners, if they can understand the APIs of the above frameworks clearly, they can already make a complete APP of their own.

How to learn these frameworks?

1. Active learning, the first entrance is of course the most original.

img

Find the corresponding framework in the Xcode navigation bar and expand the Header to see the corresponding header files of each category. Click on it to see the public methods of each class with detailed comments.

2. Passive learning: During the development or learning process, if you see certain methods but don’t know their specific meaning and usage, you can use ⌘ + click the current method in Xcode to jump to the defined header file to view the usage, or search through the iOS Developer Library.

network

The network part does not only mean learning how to use the network API calls in the SDK, but also means understanding network programming.
You need to know the HTTP protocol message structure, GET/POST methods, the meaning of common status codes, and Request/Response.
You also need to know the data formats used to communicate with the server, such as json and xml.

database

For database, you need to know the basic SQL statements select/update/insert/delete operations;
Need to know how to join tables for query: outer join, inner join, self join, etc.;
You need to know how to design database tables for one-to-one, one-to-many, and many-to-many relationships between entity data.

GitHub

iOS has a strong open source spirit. There are many excellent open source projects on GitHub. In the actual development process, some well-known open source libraries are also widely used. For example:

AFNetworking

SDWebImage

MJRefresh

EGOTableViewPullRefresh

JDStatusBarNotification

There are still a lot of excellent codes in the open source community. We can not only use these codes directly to improve our development efficiency, but also learn the coding style and implementation ideas of excellent iOS developers.

<<:  Google internal summary of the reasons for Google+'s failure: mobile layout was too slow

>>:  Git's good partner: SourceTree & BeyondCompare

Recommend

Detailed explanation of the latest Apple developer account registration process!

For the latest operating procedures in 2016, plea...

Where will the new energy vehicle industry go after Trump takes office?

With the change of the White House, all industries...

[A magic tool for watching movies anytime, anywhere] PaPa Pocket Cinema Review

Product highlights: small and portable, built-in ...

These Motos, those models.

Editor's note: Every change of MOTO in those ...

iPhone 8 paint peeling problem solved with upgraded coloring technology

Previous news said that one of the iPhone models u...

The “20-minute park effect” has become popular, but what do you do in the park?

The “20-minute park effect” has become popular. T...

How to increase the click-through rate of Tik Tok short videos?

Today I will share with you (what types of Tik To...

The Art of War 100 episodes cartoon video

This course has made 100 famous events in history...

Xiaohongshu product analysis and optimization plan

1. Product Disassembly and Development History 1.1...