李洪强经典iOS面试题11】的更多相关文章

    #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别? #import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关 键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once:@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含:#import<>用来包含系 统的头文件,#im…
李洪强经典面试题152-Runtime   Runtime Runtime是什么 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的.比如: [receiver message]; // 底层运行时会被编译器转化为: objc_msgSend(receiver, selector) // 如果其还有参数比如: [receiver message:(id)arg...]; // 底层运行时会被编译器转化为:…
李洪强经典面试题145-Runloop   Runloop 什么是 Runloop? 从字面上讲就是运行循环. 它内部就是do-while循环,在这个循环内部不断地处理各种任务. 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法) RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0.Sources1).Timer,那么就直接退出RunLoop 基本的作用就是保持程序的持续运行,处理a…
李洪强经典面试题52-Block   Block Block底层原理实现 首先我们来看四个函数 void test1() { int a = 10; void (^block)() = ^{ NSLog(@"a is %d", a); }; a = 20; block(); // 10 } void test2() { __block int a = 10; void (^block)() = ^{ NSLog(@"a is %d", a); }; a = 20;…
李洪强经典面试题49-Objective-C 面试笔试都是必考语法知识的.请认真复习和深入研究OC. Objective-C 方法和选择器有何不同?(Difference between method and selector?) selector是一个方法的名字,method是一个组合体,包含了名字和实现. Core Foundation的内存管理 凡是带有Create.Copy.Retain等字眼的函数,创建出来的对象,都需要在最后做一次release 比如CFRunLoopObserver…
李洪强经典面试题136-KVO-KVC   KVC-KVO KVC的底层实现? 当一个对象调用setValue方法时,方法内部会做以下操作: ①检查是否存在相应key的set方法,如果存在,就调用set方法 ②如果set方法不存在,就会查找与key相同名称并且带下划线的成员属性,如果有,则直接给成员属性赋值 ③如果没有找到_key,就会查找相同名称的属性key,如果有就直接赋值 ④如果还没找到,则调用valueForUndefinedKey:和setValue:forUndefinedKey:方…
李洪强经典面试题53-Swift Swift 网上有很多Swift的语法题,但是Swift现在语法还未稳定,所以在这里暂时不贴出语法题,可以自行搜索. Swift和Objective-C的联系 Swift与Objective-C共用同一套运行时环境我们编写程序,让程序运行起来,被机器执行的代码并非全部是由我们自己来编写的.需要同时运行很多预先写好的支持性的代码,才能让我们自己的代码运行起来.程序并非单独存在的,运行时处在一定的环境当中.我总联想到很多小蚂蚁在泥土上面爬,而我自己写的程序只是其中的…
李洪强经典面试题51-KVO-KVC   KVC-KVO KVC的底层实现? 当一个对象调用setValue方法时,方法内部会做以下操作: ①检查是否存在相应key的set方法,如果存在,就调用set方法 ②如果set方法不存在,就会查找与key相同名称并且带下划线的成员属性,如果有,则直接给成员属性赋值 ③如果没有找到_key,就会查找相同名称的属性key,如果有就直接赋值 ④如果还没找到,则调用valueForUndefinedKey:和setValue:forUndefinedKey:方法…
李洪强漫谈iOS开发[C语言-043]-判断较早日期…
李洪强漫谈iOS开发[C语言-043]-行李重量计算价格…