我们县回忆一下copy属性的作用,一个属性标记了copy,当你调用他的setter方法,他会建立一个索引计数为1的对象,然后释放旧对象. @property (copy) NSMutableArray * a; NSMutableArray* b = [NSMutableArray array]; a = b; 等同于 @property (strong) NSMutableArray * a; NSMutableArray* b = [NSMutableArray array]; a = [b…
因为copy策略拷贝出来的是一个不可变对象,然而却把它当成可变对象使用,很容易造成程序奔溃 //如:-[__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance 0x7fcd1bc30460 // copy后返回的是不可变对象(即 arr 是 NSArray 类型,NSArray 类型对象不能调用 NSMutableArray 类型对象的方法) 这里还有一个问题,该属性使用了同步锁,会在创建时生成一些额外的代…
@property (copy) nsmutablearray *array -copy, as implemented by mutable Cocoa classes, always returns their immutable counterparts. Thus, when an NSMutableArray is sent -copy, it returns an NSArray containing the same objects. http://stackoverflow.co…
异常信息:Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions 解决办法: 由以下代码: @foreach (var item in Model) { @Html.DisplayFor(m => !item.IsIdle, "BoolIcon") } 改为:…
- (void)fun{  NSString* str = [[NSString alloc] initWithString:@"string"];  NSLog(@"%d", [str retainCount]);}可以看到 str的计数器为-1 而把initWithString换成initWithFormat 计数器就是1 ------解决方案--------------------------------------------------------没有区别…
Reducers are also often used for changing a single property inside of other reducers. This lesson shows how a type can enter the people reducer, but then the people reducer can use a different type to call the clock reducer and get a value back. So t…
一个区分度很大的面试题 考察一个面试者基础咋样,基本上问一个 @property 就够了: @property 后面可以有哪些修饰符? 线程安全的: atomic,nonatomic 访问权限的 readonly,readwrite 内存管理(ARC) assign,strong,weak,copy 内存管理(MRC) assign,retain,copy 指定方法名称 setter= getter= 什么情况使用 weak 关键字,相比 assign 有什么不同?比如: 在ARC中,出现循环引…
可能碰到的iOS笔试面试题(5)--Objective-C 面试笔试都是必考语法知识的.请认真复习和深入研究OC. Objective-C 方法和选择器有何不同?(Difference between method and selector?) selector是一个方法的名字,method是一个组合体,包含了名字和实现. Core Foundation的内存管理 凡是带有Create.Copy.Retain等字眼的函数,创建出来的对象,都需要在最后做一次release 比如CFRunLoopO…
李洪强iOS经典面试题上     1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ // https://github.com/ChenYilong // 修改完的代码,这是第一种修改方法,后面会给出第二种修改方法 typedef NS_ENUM(NSInteger, CYLSex) { CYLSexMan, CYLSexWoman }; @interface CYLUser : N…
近一年内陆续面试了不少人了,从面试者到面试官的转变让我对 iOS 招聘有了更多的感受.经过了前段时间的一大波面试,我们终于找到了志同道合的小伙伴,面试也暂时告一段落了.总结下面试人过程中的感受,你也可以读到我们对简历.算法.性格.iOS 基础.底层知识的看法和一些常问的面试题. 一个靠谱的简历 简历非常能反映一个人的性格和水平,相比于你在学校获得多少奖项,工作经历.项目经历.熟悉的技术等更加关键,如果还有博客和一些 Github 上的项目,好感度++,但记得在去面试前收拾下,我们真的会挨个文件…
一个靠谱的简历 简历非常能反映一个人的性格和水平,相比于你在学校获得多少奖项,工作经历.项目经 历.熟悉的技术等更加关键,如果还有博客和一些 Github 上的项目,好感度++,但记得在去面试前收拾下,我们真的会挨个文件 review 你的开源代码的.我们还喜欢关注一些细节,比如简历里关键字的拼写,看似无关紧要但很能反映出对自己的要求,经常见一个简历中 iOS 这三个字母的拼写就出现 IOS.iOS.ios 三种的,非常不能忍,再列举几个常见问题: iPhone -> IPHONE IPhone…
1. 风格纠错题 修改方法有很多种,现给出一种做示例: 最终改为: 下面对具体修改的地方, 2. 什么情况使用 weak 关键字,相比 assign 有什么不同? 什么情况使用 weak 关键字? 1)在ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate代理属性 2)自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用weak,自定义IBOutlet控件属性一般也使用weak:当然,也可以使用strong.在下文也有论述:<IBOutl…
说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 博文中给出了高质量的面试题,但是未给出答案,我尝试着总结了下答案,分两篇发:这是上篇 ,下一篇文章将发布在这里,会把剩余问题总结下,并且进行勘误,欢迎各位指正文中的错误.请持续关注微博@iOS程序犭袁.(答案未经出题者校对,如有纰漏,请向微博@iOS程序犭袁指正.) 出题者简介: 孙源(sunnyxx),目前就职于百度,负责百度知道 iOS 客户端的开…
<招聘一个靠谱的 iOS>—参考答案(上) 说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 博文中给出了高质量的面试题,但是未给出答案,我尝试着总结了下答案,分两篇发:这是上篇 ,下一篇文章将发布在这里,会把剩余问题总结下,并且进行勘误,欢迎各位指正文中的错误.请持续关注微博@iOS程序犭袁.(答案未经出题者校对,如有纰漏,请向微博@iOS程序犭袁指正.) 出题者简介: 孙源(sunny…
代码规范 这是一个重点考察项,曾经在微博上发过一个风格纠错题: 也曾在面试时让人当场改过,槽点不少,能够有 10 处以上修改的就基本达到标准了(处女座的人在这方面表现都很优秀 一个区分度很大的面试题 考察一个面试者基础咋样,基本上问一个 @property 就够了: @property 后面可以有哪些修饰符? 什么情况使用 weak 关键字,相比 assign 有什么不同? 怎么用 copy 关键字? 这个写法会出什么问题: @property (copy) NSMutableArray *ar…
所有的内容大部分来自于网络的搜集,所以我不是一个创造者,而是一个搬运工.我尽量把题目,尤其是参考答案的出处列明.若有任何疑问,建议,意见,请联系我. 第一部分面试题来源于iOS-Developer-Interview-Questions,用[◇]标示,难度是根据我自己的水平来标识的. 其中大部分答案来源于没阳光的午后的三篇 你能用到的iOS面试题(一) 你能用到的iOS面试题(二) 你能用到的iOS面试题(三) 没阳光的午后还写了其他很多有质量的iOS开发文章,大家可以去学习. 第二部分面试题来…
说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 博文中给出了高质量的面试题,但是未给出答案,我尝试着总结了下答案,分两篇发:这是上篇 ,下一篇文章将发布在这里,会把剩余问题总结下,并且进行勘误,欢迎各位指正文中的错误.请持续关注微博@iOS程序犭袁.(答案未经出题者校对,如有纰漏,请向微博@iOS程序犭袁指正.)出题者简介: 孙源(sunnyxx),目前就职于百度,负责百度知道 iOS 客户端的开发…
1. 风格纠错题 修改完的代码: typedef NS_ENUM(NSInteger, CYLSex) { CYLSexMan, CYLSexWoman }; @interface CYLUser : NSObject<NSCopying> @property (nonatomic, readonly, copy) NSString *name; @property (nonatomic, readonly, assign) NSUInteger age; @property (nonatom…
Objective-C中有两个NSObject,一个是NSObject类,另一个是NSObject协议.而其中NSObject类采用了NSObject协议.在本文中,我们主要整理一下NSObject类的使用. 说到NSObject类,写Objective-C的人都应该知道它.它是大部分Objective-C类继承体系的根类.这个类提供了一些通用的方法,对象通过继承NSObject,可以从其中继承访问运行时的接口,并让对象具备Objective-C对象的基本能力.以下我们就来看看NSObejct提…
觉得很瘦感触,因此转发:http://blog.sunnyxx.com/2015/07/04/ios-interview/ 近一年内陆续面试了不少人了,从面试者到面试官的转变让我对 iOS 招聘有了更多的感受.经过了前段时间的一大波面试,我们终于找到了志同道合的小伙伴,面试也暂时告一段落了.总结下面试人过程中的感受,你也可以读到我们 对简历.算法.性格.iOS 基础.底层知识的看法和一些常问的面试题. 一个靠谱的简历 简 历非常能反映一个人的性格和水平,相比于你在学校获得多少奖项,工作经历.项目…
Objective-C中有两个NSObject,一个是NSObject类,另一个是NSObject协议.而其中NSObject类采用了NSObject协议.在本文中,我们主要整理一下NSObject类的使用. 说到NSObject类,写Objective-C的人都应该知道它.它是大部分Objective-C类继承体系的根类.这个类提供了一些通用的方法,对象通过继承NSObject,可以从其中继承访问运行时的接口,并让对象具备Objective-C对象的基本能力.以下我们就来看看NSObejct提…
李洪强iOS经典面试题30-一个区分度很大的面试题 考察一个面试者基础咋样,基本上问一个 @property 就够了: @property 后面可以有哪些修饰符? 线程安全的: atomic,nonatomic 访问权限的 readonly,readwrite 内存管理(ARC) assign,strong,weak,copy 内存管理(MRC) assign,retain,copy 指定方法名称 setter= getter= 什么情况使用 weak 关键字,相比 assign 有什么不同?比…
李洪强经典面试题49-Objective-C 面试笔试都是必考语法知识的.请认真复习和深入研究OC. Objective-C 方法和选择器有何不同?(Difference between method and selector?) selector是一个方法的名字,method是一个组合体,包含了名字和实现. Core Foundation的内存管理 凡是带有Create.Copy.Retain等字眼的函数,创建出来的对象,都需要在最后做一次release 比如CFRunLoopObserver…
1.打造最受企业欢迎的iOS开发者: 一直都存在的问题,什么样的员工最受企业欢迎? 一直也有人在努力提升自己,成为受企业欢迎的员工 然而,我们应该往方向去提升自己呢? 88家知名企业今年来iOS面试题合集: 你要的这里都有: 企业要的这里也有: 从基础开始到进阶.深入底层 整理出188个大纲,干货太足 每个题目都会有相对的答案,由于字数太多所以我整理出一个文档,文档获取地址,加入iOS开发交流群:659170228免费获取.打造最受企业欢迎的iOS开发者 2.大纲展示阶段一: 01 1.swif…
1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ // https://github.com/ChenYilong // 修改完的代码,这是第一种修改方法,后面会给出第二种修改方法 typedef NS_ENUM(NSInteger, CYLSex) { CYLSexMan, CYLSexWoman }; @interface CYLUser : NSObject<NSCopying…
4. 这个写法会出什么问题: @property (copy) NSMutableArray *array; 两个问题:1.加入,删除,改动数组内的元素的时候,程序会由于找不到相应的方法而崩溃.由于 copy 就是复制一个不可变 NSArray 的对象: 2.使用了 atomic 属性会严重影响性能 : 第1条的相关原因在下文中有论述<用@property声明的NSString(或NSArray,NSDictionary)常常使用 copy keyword,为什么?假设改用strongkeywo…
@property 后面可以有哪些修饰符?@property中有哪些属性关键字? 属性可以拥有的特质分为四类: 原子性--- nonatomic 特质 在默认情况下,由编译器合成的方法会通过锁定机制确保其原子性(atomicity).如果属性具备 nonatomic 特质,则不使用同步锁.请注意,尽管没有名为“atomic”的特质(如果某属性不具备 nonatomic 特质,那它就是“原子的” ( atomic) ),但是仍然可以在属性特质中写明这一点,编译器不会报错.若是自己定义存取方法,那么…
http://www.cocoachina.com/programmer/20150707/12414.html 近一年内陆续面试了不少人了,从面试者到面试官的转变让我对 iOS 招聘有了更多的感受.经过了前段时间的一大波面试,我们终于找到了志同道合的小伙伴,面试也暂时告一段落了.总结下面试人过程中的感受,你也可以读到我们对简历.算法.性格.iOS 基础.底层知识的看法和一些常问的面试题. 一个靠谱的简历 简历非常能反映一个人的性格和水平,相比于你在学校获得多少奖项,工作经历.项目经历.熟悉的技…
copy@property (nonatomic, copy) NSString *name;self.name = mutableString;这时,name对mutableString一个深拷贝,另开辟一个空间,将mutableString内容拷贝到这个空间中,self.name指向这个空间,修改mutableString,不影响self.name.self.name = string;这时,name对string是一个浅拷贝,只是将指针指向这个string所指向的对象,因为string是不…
Talk is cheap show you my code!  NSMutableArray属性为什么要用strong来修饰,其实就是一个深复制和浅复制的问题. <pre name="code" class="objc">#import "ViewController.h" @interface ViewController () @property (nonatomic, copy) NSMutableArray *array;…