iOSInterviewQuestions
iOSInterviewQuestions copied to clipboard
iOS interview questions;iOS面试题集锦(附答案)--学习qq群或 Telegram 群交流 https://github.com/ChenYilong/iOSBlog/issues/21
 关于这个题,应该不需要探究这么深,比如viewController对self.view是strong引用,view对subviews数组是strong,而数组NSArray对里面的元素也是strong,因此viewController对self.view的所有subview都已经存在strong引用了,因此即使非IB,添加子view也可以weak。跟是否IB没啥关系了
SO 上的这个答案 https://stackoverflow.com/questions/24562043/is-autoreleasepool-still-required-for-modern-ios-8-nsoperation-usage 提到,系统会自动设置好 Autorelease Pool。 这个答案 https://stackoverflow.com/questions/184409/nsautoreleasepool-in-nsoperation-main 提到说需要手动加入 Autorelease Pool,但是答案本身是 08 年的,所引用的苹果官方文档应该也已经更新了(搜不到对应的内容)。 按照我自己的理解,应该是不需要的,因为 NSOperation 所跑的线程也是 Cocoa 创建的线程,Cocoa 创建的线程中应该就已经设置好 Autorelease Pool 了。 按照文档的说法,Operation 里的 Pool 不一定什么时候会进行 drain,所以添加自己的 Pool 会更利于管理。
我测试的是先调用willChangeValueForKey: 然后调用的observeValueForKeyPath:ofObject:change:context: ,最后调用的是didChangeValueForKey: 不知道你写那段话是我理解错了还是你写错了.
理由:User 这个命名过于简略,用在没有命名空间的的OC语言上容易发生命名冲突。 可以想见,一个叫做CYLUser的类,如果将其实例化的话,其对象名称必然叫做“user”。对于如此简略的名称,我们一般更加习惯是在诸如NSString字符串这样类型的实例上使用。倘若此时同时有一个字符串对象的名称也叫做“user”,两者就会发生很不舒服的命名冲突,而且也不好将其中一个改为另外的名称。 个人认为类名CYLUserModel,实例名称userModel才是更加适合,不易引起其它冲突尴尬的命名方案 同理,对于CYLSex,个人认为 typedef NS_ENUM(NSInteger, CYLSexType) { CYLSexTypeMan, CYLSexTypeWoman, }; 才能更容易避免项目之后的尴尬和冲突,并且容易说明这是一个枚举类型。Type和Status理应作为绝大多数枚举类型的通行关键词
首先感谢分享~ 关于“ARC通过什么方式帮助开发者管理内存”,ARC相对于MRC,不是在编译时添加retain/release/autorelease这么简单。应该是编译期和运行期两部分共同帮助开发者管理内存。 在编译期,ARC用的是更底层的C接口实现的retain/release/autorelease,这样做性能更好,也是为什么不能在ARC环境下手动retain/release/autorelease,同时对同一上下文的同一对象的成对retain/release操作进行优化(即忽略掉不必要的操作);ARC也包含运行期组件,这个地方做的优化比较复杂,但也不能被忽略。 这些内容是参考了《Effective Objective-C 2.0》书中所说,如有冒犯或疏漏还请谅解。
set方法中的`if (_name != name)` 应该只是针对MRC下的`retain`属性吧 假设传入的参数name和_name为同一指针,在不判断`_name != name`的情况下,`[_name release]`后万一内存布局改变,name释放了,`[name retain]`应该会有问题 只是概率非常非常低,`NSString`特殊,肯定不会发生这种错误 ``` - (void)setName:(NSString *)name { [_name release]; //_name=name,相当于[name release]; _name = [name retain]; } ```
何时出个swift版本 :) 大势所趋,而且swift坑也不少,尤其是各种?!和type casting
_Originally posted by @Macyoutuber in https://github.com/desktop/desktop/issues/16622_ _Originally posted by @Macyoutuber in https://github.com/Macyoutuber/desktop-tutorial/issues/2_ _Originally posted by @Macyoutuber in https://github.com/samlaudev/ConfigurationFiles/issues/2_