Knowledge summary
- One, the foundation
One, the foundation
-
How does Runloop relate to threads?
-
When will the automatic release pool be released?
-
What is the difference between the weak keyword and assign?
-
How to use the copy keyword?
-
@property(copy) NSMutableArray * array; What’s the problem with writing this?
-
How do I get my classes to use the copy modifier? That is, make the object you write copy, right?
-
What is the nature of @property? How do ivar, getters, setters get generated and added to this class?
-
multithreading
-
How do you use @property in @protocol and category?
-
What attribute keywords are in @ Property?
-
Does the weak property need to be nil in dealloc?
-
What does @synthesize and @dynamic do?
-
In ARC, what are the default keywords that are not displayed when specifying any attribute keywords?
-
Nsstrings (or NSArray,NSDictionary) declared with @property often use the copy keyword. Why? What problems might arise if you use the strong keyword instead?
-
What are the rules for @synthesize instance variables? If the property name is foo and there is an instance variable named _foo, will the new variable be synthesized automatically?
-
After you have the automatic synthesize property instance variable, what are the scenarios for @synthesize?
-
What would objC send if it wanted to send a nil object?
-
What is the direct relationship between objC sending an object [obj foo] and objc_msgSend()?
-
When is an exception to an unrecognized selector included?
-
How is memory laid out for an ObjC object? (Consider the parent class)
-
What does an ISA pointer to an objC object point to? What does it do?
-
How does runtime find the corresponding IMP address by selector? (Consider class and instance methods respectively)
-
What does the following code output?
-
Do objects associated with the Runtime Associate method need to be released when the main object is dealloc?
-
What are the essential differences and connections between class methods and instance methods in OBJC?
-
What does the _objc_msgForward function do, and what happens when you call it directly?
-
How does runtime implement automatic nil for weak variables?
-
Can I add instance variables to the compiled class? Can you add instance variables to a class that you want to create? Why is that?
-
What does runloop have to do with threads?
-
What is the mode of runloop?
-
With + scheduledTimerWithTimeInterval… When sliding the list on the page, the timer will pause the callback. Why? How to solve it?
-
Guess how runloop is implemented internally?
-
What mechanism does ObjC use to manage object memory?
-
In what ways does ARC help developers manage memory?
-
When does BAD_ACCESS occur?
-
When can reference loops occur using blocks and how can they be resolved?
-
How do I modify external block variables inside a block?
-
Apple is the symbol implementation of autoreleasepool?
-
At what point does an AutoRelease object get released without manually knowing the AutoReleasepool? (such as in a VC viewDidLoad)
-
Are reference loops also considered when using some of your blocak apis (such as the block version of UIView when writing animations)?
-
What are the two types of DISPATch_queue_t GCD queues?
-
How do I synchronize several asynchronous calls with GCD? (For example, load multiple images asynchronously based on several urls, and then compose a whole image after downloading them all)
-
What does dispatch_barrier_async do?
-
Why did Apple disable dispatch_get_current_queue?
-
How does the following code run?Only: 1 is printed. The sending main thread is locked.
-
AddObserver: forKeyPath: options: context: what are the effect of various parameters, which need to implement in the observer method to obtain KVO callback?
-
How do I manually trigger a value’s KVO?
-
If a class has an instance variable NSString * _foo, can setValue:forKey: be called with foo or _foo as the key?
-
How is the set operator in KVC’s keyPath used?
-
Must the keyPath of KVC and KVO be attributes?
-
How do I turn off the default implementation of the default KVO and enter the custom KVO implementation?
-
How does Apple implement KVO for an object?
-
Why can the view property connected by IBOutlet be set to weak?
-
How to use User Defined Runtime Attributes in IB?
-
How do I debug BAD_ACCESS errors?
-
Common LLDB (GDB) debugging commands?
-
IOS is prone to several scenarios of “circular reference”
-
What’s the difference between load and initialized?
-
HTTP and HTTPS
-
Common Exception types
-
The Category and the Extension
-
Responder chain
-
The optimization of UITableView
-
Off-screen Render
-
UIView and CALayer
-
TCP and UDP
-
The socket and HTTP
-
Remote push APNS
-
IOS application life cycle
-
View View life cycle
-
autorelease pool
-
view layout
-
Application architecture MVC, MVVM
-
FMDB,SQLite
-
This section describes memory partitions
-
Function of each attribute
-
Brief Notification, KVC KVO, delegate? The difference between them?
-
What do ID and nil stand for
-
nil,Nil,NULL, NSNull
-
What does sending a message to a nil object send?
-
Self. And self->
-
How do I access and modify private attributes of a class
-
How do I define a property for class that is read only externally but read and write internally
-
What does meta-class mean in OC?
-
NSString uses the difference between copy and strong
-
The steps to create an object
-
setter,getter
-
Id, instanceType, what’s the difference?
-
Memory management
-
The underlying implementation of KVC?
-
Block memory management
-
The startup process of App starts from Main
-
How do I nest a CollectionView inside a TableView cell
-
AwakeFromNib versus viewDidLoad
-
A common Crash scenario
-
AFN Resumable data
-
Client caching mechanism
-
Data storage mode
-
The App needs to load a large amount of data and send requests to the server, but the server is stuck. How to solve the problem?
-
How to solve the problem of repeated requests for the same network address in network image processing?
-
How do I synchronize several asynchronous calls with GCD? (For example, load multiple images asynchronously based on several urls, and then compose a whole image after downloading them all)
-
The difference between NSOperation, CGD, NSThread
-
Whether you can place time-consuming operations in the NSNotificationCenter
The article will continue to be updated, you can also send me a message to get the latest information and interview information. If you have any comments and suggestions, please leave a message to me.
Like iOS partners attention! If you like, give a thumbs-up! Thank you very much! Thank you very much! Thank you very much!
Click to get:IOS Interview Materials
The original features