iOS Advanced Essentials

Source: Internet
Author: User

1. Have you used OBJECTIVE-C runtime programming (runtime programming)? If you have used it, what have you done with it? Can you remember the name of the relevant header file or some method you used?

The important feature of the OBJECITVE-C is runtime (runtime), which can be seen in #import <objc/runtime.h>, using Objc_getclass () and Class_copymethodlist () acquired a private API;
"' Objective-c
Method method1 = Class_getinstancemethod (CLS, sel1);
Method method2 = Class_getinstancemethod (CLS, SEL2);
Method_exchangeimplementations (Method1, METHOD2);


2. Do you implement too many threads of core data? Which of the nspersistentstorecoordinator,nsmanagedobjectcontext and Nsmanagedobject need to be created or passed in the thread? What kind of strategy do you use to achieve this?


The contents of the series beginning with 3.Core. Whether Coreanimation and coregraphics have been used. What is the interface between the UI framework and the CA,CG framework? What animations or images are done with CAs and CG, respectively. (Some of the contents of quartz can also be involved if necessary)


4. Have you ever used Coretext or coreimage? If used, please talk about your experience using Coretext or coreimage.


What are the differences and usages of 5.NSNotification and KVO? When should I use notifications, when should I use KVO, and what are the differences in their implementation? Is it possible to implement a similar function with protocol and delegate (or an array of delegate)? If possible, what are the potential problems? If not, why? (Although protocol and delegate this kind of thing interview has been rotten ... )


6. Have you ever used nsoperationqueue? If used or understood, why do you use Nsoperationqueue to achieve what? Please describe the differences and similarities between it and G.C.D (hint: it can be described from the implementation mechanism and scope of application).


7. Since the mention of G.C.D, then ask what to pay attention to when using G.C.D and block? Are they two a thing? What is the difference between block behavior and usage in arc and the traditional MRC, and what do you need to be aware of?


8. Have you worked on asynchronous network processing and communication? If so, can you specifically introduce some implementation strategies?


9. What do you think is the biggest advantage and the biggest disadvantage for objective-c? For the shortcomings, there are now no available methods to circumvent these deficiencies to achieve the requirements. If so, have you considered or practiced some of the features of OC, and if so, how will you do it?

1:isa Pointer2: Dynamic capability (runtime decision)3: category ( categories )-------Adding methods to a class without having to make subclasses4: Protocol (protocols)-------very similar to interfaces in Java interfacedynamic capability enables programs to break through the constraints of compilation and connection, and to transfer more symbolic identification to the running environment in a controlled state.

Dynamic Class-Determines the class ID data type of an object at run time,

represents an arbitrary cocoa object that can be determined by introspection at run time by the owning class.

Dynamic binding-Determines the method to invoke at run time

message distribution mechanism at run time

Dynamic mount-Adds a new module to the program at run time

the cocoa program can load execution code and resources when needed


10. Have you implemented a framework or library for others to use? If so, talk about the experience of building a framework or library, and if not, imagine and design the API for the public of the framework, and point out how you might want to do it and what you need to pay attention to to make it easier for others to use your framework.

iOS Advanced Essentials

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.