iOS Learning route Summary

Source: Internet
Author: User
Tags asymmetric encryption

Learning methods

In the face of difficult features, don't be too busy to refuse, but challenge, learn more knowledge.

Try to solve the problem independently, not in the first thought of encountering the problem is looking for someone.

Learn more about others Open source third-party library, can open source library must have worth learning places, more to see other great God's blog.

As a programmer, if you stop learning, you will be eliminated by the team.

To learn skills as an interest, not to earn money to learn, is to learn skills and learning.

There are plans to customize a detailed career planning and life plan for yourself, as large as 5-10 years, as small as nearly 3 years (and refine to month).

Do not blindly interview, to the upcoming job interview, prepare for the interview.

First of all, for a lack of knowledge of their own, first use Baidu \ Google and other sites to search information. Then learn

This is a good thing, I advise you to use https://developer.apple.com/search/

Try to write a demo to familiarize yourself with the new technology.

If there is a mature demo or third-party library, download it and learn it.

In the familiar process, encountered any problems, then Baidu/Google, learning different views and solutions.

To be a responsible developer

So what's the point now, how to become a responsible developer?

Be responsible first, be responsible for your own project. If it's your new project, make sure you always have a clear idea of how every place in the project is implemented, whether the test or the user feedback the problem, can immediately think of possible causes of the error.

If it is a project to take over, it is necessary to understand how the main interface and functions are implemented as soon as possible. You have to do your own job first, you have the opportunity to take care of other people's affairs.

1. Maintain a good code specification and file schema. 2. Every day to give yourself a todolist and a buglist, always keep yourself in an efficient job, serious need for time to fix the bug report up, small bugs themselves down to secretly repair. 3. When you have time to download the top ranking applications, to appreciate and analyze the mainstream app interface, function realization, when the design drawing, to consider the rationality of the interface, the function of how to achieve the most consistent with the user's operating habits. 4. Have a certain degree of coordination, communication skills, a little bit of background knowledge and front-end knowledge. 5. Faith, a belief that does not do beginner iOS development. More to understand, will not be others when small white, learn how much is their own, as you go to study, some people will say rumblings, this is the difference, they deserve the first, they will not be things, also can not bear others to learn. Therefore, must have a plan, according to their correct planning to learn, to grow, do not stand still.

What do you need to know about the backstage, how to design the interface document, how to design the interface, the background to get the data you requested is how to store, you need the data backstage and how to query to you, request the way when to use get when the Post,json format data and XML data and what benefits.

What do you need to know about the front end, here is a general mention of H5 and app interaction, such as H5 how to tune your method, how you tune H5 method, data transfer, how the picture to H5 show, these need to understand.

Some people will think that what I said above is nonsense, or that you know what is the use of, and not your opinion of the qualifications. iOS group is generally what the trend is that you put forward a suggestion or opinion, if passers-by will, he godless you a meal, if he does not, he will say, will this again useless, understand so much and useless what bulabulabula. This is the 5th.

If you want to be strong, do something about it.

iOS Development Learning Route iOS targeting
  • iOS targeting

    • Introduction: The positioning here, only represents my personal opinion, only in line with this note how to learn from where to start learning, how to learn.

    • Not yet getting Started

      • How to tell if you're getting Started

        • Do you know your Mac

        • Do you know Xcode

        • Do you know objective-c

        • Whether the UI control will be used.

        • If you don't know anything about it, you're not getting started, so start learning from the iOS learning route.

    • Beginner iOS Development

      • Description: As a beginner iOS developer, you need to have the following skills

      • Required skills (see the next item in all cases)

        • Use of Xcode

        • Flexible use of the third party libraries

          • AFN

          • Mjrefresh

        • The use of various websites

      • How to determine if you can raise the order

        • Do you know the implementation principle of afnetworking

        • Do you know the principle of sdautolayout/masonry a layout library

        • Is it possible to handle basic iOS crash reasons/inability to compile cause/no shelves?

        • Whether it has a certain degree of efficiency, stable work efficiency. (not to say, the above sent a live, busy are busy, every day overtime, and a bunch of bugs)

        • Is able to handle crashes caused by third-party libraries.

        • Whether it can be well integrated into the work environment, the completion of each stage of the work indicators, and not to be exhausted.

      • Conclusion

        • iOS intermediate development It's just that you've learned the basics of UI building, shelves, settling for a while, and you feel that you're also suitable for this industry, and that you can accept the industry of this so-called iOS development engineer. You can say it's a mid-level iOS developer.

        • This settling time is about 1 years of practical work and can be done.

        • If you think this industry is not suitable for you, please carefully combine their own situation, whether to switch to another computer language, or a thorough career change.

    • Intermediate iOS development

      • Description: As an intermediate iOS developer, you need the following skills

      • Required Skills ( View the next item in all cases)

        • Applied memory processing

        • App push processing

        • Modular/Unit Testing for Applications

        • Applied third-party integration/centralized management/stable iterations

        • Read strong third-party source code/have the ability to quickly get started with new third-party libraries.

        • Can accept the development of a variety of new features (this means that even if you haven't done it, you can still learn to solve any business need: for example: Bluetooth. AR. Camera. Hardware interaction.

        • Clearly understand how data is passed, how it is exchanged with the background, the process of exchanging data, the results, the format.

        • Flexible use of multiple threads.

        • Handling of various concurrency events/and the reasonableness/smoothness of the interface

        • Flexible use of
        • Design patterns.

      • How to determine if you can upgrade

      • Conclusion

    • Advanced iOS Development

      • Description: As an advanced iOS developer, you need to have the following skills (I am not a senior developer, so I can only advise you here.)

      • Required Skills

        • Component/Architecture tiering for Applications

        • Data structure, operating system, computer network all have their own understanding and cognition

        • Shell script/python/ruby/js at least one.

Detailed Learning Route
  • Learning Route

    • Brief introduction
      Here are just a few of the conceptual things, as well as learning route planning, the real knowledge from the basics of iOS start looking down.

    • Objective-c

      • Introduced

      • Concept

      • Compilation principle

    • Program Start principle

      • App composition

        • Info.plist

        • . pch

      • Open Program

      • Executes the main function

      • Execute the Uiapplicationmain function

      • Initialize UIApplication (Create set proxy object, turn on event loop)

      • Monitoring System events

      • End the program.

    • Grammar. (the definition here may be slightly less rigorous, oral teaching mainly)

      • Basic syntax

      • Object.

      • Property

      • Data type

      • Method

      • Inherited

      • Frame/cgrect/cgpoint and Cgsize

      • Memory (described for MRC scenarios)

      • Arc/mrc

      • Weak references/strong references

      • Assign,retain,copy,strong

      • The difference between import and @class

    • Xcode uses

      • First of all, for the Xcode menu bar, I hope that I can translate the English of each function in each menu meaning, help oneself familiar with and deepen the impression of using Xcode.

      • Familiarize yourself with the various functions of Xcode.

      • The Uikit control.

      • Interface Analysis (download app to learn).

        • Here it is recommended that interested developers, download and analyze, AppStore each category of Top50 application, learn more big companies and popular applications is how to develop the application, in which the popular, innovative way to develop the interface can be summed up, guess in the big application, other programmers how to develop.

        • Interface adaptation

      • Code schemas.

        • Code schema article recommendation: https://casatwy.com/iosying-yong-jia-gou-tan-kai-pian.html

      • The use of various tools and third parties.

        • In fact, the establishment of each project is broadly divided into: Project framework, the original interface to build, embedded in the third-party library. There are many features that are used in third-party libraries, and most third-party libraries are based on the rapid development of full-featured implementations. Developers need to be able to vary according to business logic, Choose the best and highest quality third-party libraries to use.

      • Code Encapsulation

        • When more third-party libraries are used, developers are required to learn about their development characteristics and how to encapsulate their own code on their own projects. Flexible use.

      • Complete project.

      • Development Tips

      • Personal experience

iOS Basics Points
  • iOS Basics Points

    • How to learn iOS

      • Just getting Started (how to learn)

        • Lay a good foundation and learn all kinds of common grammar in OC.

        • Learn how to get on the shelves, why you're rejected, and learn about app listing rules.

        • Learn more about official documentation.

      • Just 1 years in the job (how to stabilize)

        • See open source or annotated third-party libraries.

        • Collect and read a variety of great gods blogs or forums.

        • Start thinking about detail optimization in your project, memory handling and power consumption

      • Entry 3 years (How to Advanced)

        • Get started with knowledge in the iOS field and learn the basics of the job, such as front-end and back-office or server operations, or project-related knowledge, and move closer to your career plan

    • Framework of Learning

      • Apple comes with frame

      • Third-party frameworks

        • Afnetworking

        • Sdautolayout

        • Yykit

        • Sdwebimage

        • Mjrefresh

        • Mjextension

        • bugly

        • Qiniu

        • Masonry

        • Tzimagepickercontroller

        • Hyphenate_cn

    • Basic UI Controls

      • UILabel title bar

      • UIButton button

      • Uiimageview Picture View

      • Uitextfield Text Input Box

      • Uitextview Text Display view

      • Uiprogressview progress bar

      • UISlider Slide Switch

      • Uigesture gestures

      • Uiactivityindicator Chrysanthemum Control

      • Uialertview (iOS8 repeal) warning box

      • Uiactionsheet (iOS8 repeal) Action form

      • Uialertcontroller (IOS8 appears) warning View Controller

      • Uiscrollview scrolling View

      • Uipagecontrol Page Controller

      • Uisearchbar Search Box

      • UITableView Table View

      • Uicollectionview Collection View

      • UIWebView Web Browser

      • Uiswitch switch

      • Uisegmentcontrol Select button

      • Uipickerview Selector

      • Uidatepicker Date Selector

      • Uitoolbar Toolbar

      • Uinavigationbar Notification Bar

      • Uinavigationcontroller Notification View Controller

      • Uitabbarcontroller Selecting a View controller

      • Uiimagepickercontroller albums

      • UIImage Pictures

    • Use of Xcode

      • Basic Operation status Bar

      • Preference settings

      • Xcode Source Control Code Manager

      • Xcode Workspace Workgroup

      • Xcode Scheme Program

      • Xcode AutoLayout constraints

      • Xcode CoreData Database

      • LLDB Breakpoint Debugging

      • StoryBoard

      • Interface Preview

      • Interface adaptation

      • Memory monitoring

      • Global Breakpoint

      • Global Search Substitution

    • Data store

      • Plist

      • P>nskeyedarchiver

      • SQLite

      • FMDB

      • CoreData

      • Nsuserdefault

      • Sandbox storage

      • Nsdictionary archive

    • App life cycle

      • App life cycle

        li>

        Controller life cycle

        • Alloc

        • Init

        • Create view

        • Viewdidload

        • Viewwillappear

        • Viewdidappear

        • Viewwilldisappear

          • View will be Disappear (do some processing of UI when the view is going to disappear)

        • viewdiddisappear

          • View has disappeared (processing of data after some views have disappeared)

          • Viewdiddisappear Destroy timer

        • Dealloc

        • didreceivememorywarning

    • Developer Account & Listing process

      • Article recommended:

        • https://www.jianshu.com/p/6601a241da8e

        • https://www.jianshu.com/p/7c98651d3532

        • Https://www.jianshu.com/p/9b994a019ee6

      • Personal

      • Company

      • Enterprise

    • Common knowledge

        • Communication

        • NS Series

        • Macro definition

        • View Hierarchy

        • Toggle View

        • Depth copy

        • Serialization of objects

        • Write file

        • Get sandbox path

        • Flip View

        • Extended View

        • Nine basic data types

        • Nine Gongge

        • Coordinate comparison

        • The relationship between Uicolor, Cicolor and Cgcolor

        • Drawing

        • static variables

        • Tag Value

        • Time-lapse execution method

        • Interface rotation + status bar hide

        • plist file

        • Kvc/kvo

        • predicate nspredicate

        • Frame animation

        • AutoLayout

        • Iskindofclass and Ismemberofclass

        • Return/break/continue

        • Core Animation

        • Calayer

        • quartz2d

        • Real-Machine debugging

        • Static Library

        • Memory management

        • The difference between ipad and iphone

        • Response chain

        • Exception snapping

        • Internationalization

        • Modularity of code

        • Categories/Extensions

Intermediate Knowledge points
    • Design Patterns

    • Nesting of Uiscrollview/uitableview/uicollectionview

    • Dynamic Row Height

    • Notification/proxy/block

    • Program Start principle

    • Touch Events/Gestures

    • Graphic

    • Runtime

    • Nsrunloop

    • GCD

    • Reactivecocoa Development

    • 3DTouch

    • Interface rendering

    • Charles Vase grab Bag

    • Differentiate simulator/real Machine project

    • Common knowledge

      • Single-Case mode

      • Multithreading

      • Network requests

      • Positioning

      • Source code Control git

      • Real-Machine debugging

      • Apple in-app purchase/advertising

      • Push/remote push

      • Audio/video/two-D code

      • Block

      • Bluetooth/Sensor

      • Physical Emulator Uidynamic

      • Contacts get

iOS Advanced knowledge points
  • iOS Advanced knowledge points

    • Socket

    • Xmpp

    • Encryption

      • MD5 detailed

      • BASE64 Encryption and decryption

      • RSA Asymmetric Encryption

      • AES Symmetric encryption

    • Audio

      • Basis

      • Core Audio

      • Audio Toolbox

      • OpenAL

      • Avfoundation

      • Speex Voice Chat

      • Audioqueue/audiosession

      • Speex Introduction

    • Video

      • AAC video. H264 Push Stream

      • Peer transfer

    • Live

      • Technical analysis and realization of live broadcast

      • RTMP protocol

      • RTMP Live application and delay analysis

      • If you make a Inke version of the app

      • Push stream to publish and play rtmp

      • Ffmpeg

      • FFmpeg-based push-flow converters

      • HLS Streaming Media Transfer Protocol (HTTP Live streaming)

      • Ffmpeg

      • Ijkplayer

    • Algorithm

      • Brief introduction

      • Bubble sort

      • Quick Sort

      • Insert Sort

      • Merge sort

      • Two-point Search

      • Hill sort

      • Dynamic planning

      • Heap Sort

Official kit
      • Arkit.

      • SiriKit

      • HealthKit

      • HomeKit

      • Searchkit

      • IOKit

      • Pdfkit

      • CloudKit

      • Gameplaykit

      • SpriteKit

      • SceneKit

      • Musickit

      • ResearchKit

      • Mapkit

      • Storekit

      • Avkit

iOS Learning route Summary

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.