序言
这些资料,你一定会用到!我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽或者转行。
在分享这篇面试文章的小编先分享自己建的一个“iOS程序员开发者的群”“638302184”每天都会有开发者分享案例一起探讨工作中的问题,群里还会分享阿里面试题及各大BAT面试题,你不会的有人解答。我不会的请伸手帮助一下。
先提供一些面试公司核心岗位必备面试题一波,请注意!
1、客户端在数据安全方面会使用那些常用加密算法?
2、如何灵活结合不同加密算法实现数据安全交互?
3、数字签名原理是什么?
4、https协议原理是什么?
OC项目里怎么混编入Swift文件?
不管是混编还是用RN、Weex之类的混合开发模式都建议从小模块与主业务不太相关或耦合性,改动性影响度不大的地方入手。
这里我就说OC项目里混编Swift的做法吧,毕竟这个要实用一点Swift混编OC的暂不考虑,如果用了Swift写项目了,应该坚持全用Swift不应该来混编OC,当然一些三方倒是可以的。
[if !supportLists]一、 [endif]当我们创建一个Swift文件时,会自动有个创建桥接文件的提示,创建就行。
二、OC怎么访问Swift类。
Swift类放在一个 : 工程名-Swift.h的文件里,这个文件是自动生成的,不用手动创建,想在哪里访问Swift类就在哪里导入即可,当然暴力的做法是将这个文件导入到OC的pch文件里。
三、Swift怎么访问OC类。
把Swift想要访问到的类放在第一步创建Swfit自动生成的桥接文件里就行。
以上只是基于之前混编时的经验来说,更加详细的请参阅苹果官方文档说明
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
1.谈谈 tableview 的重用机制。
为什么要“重用”?iPhone 重用机制是为了实现大量数据显示而采用的一种节省内存的机制。如果一个 tableview 有几百个 cell,这个内存消耗无疑是很恐怖的。再加上 cell 中还有 image 之类的资源。很容易出现 memory warning 甚至 crash !!!
重用代码
static NSString *CellTableIdentifier = @"cell ";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellTableIdentifier];if (cell == nil) {cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellTableIdentifier];}
关键函数
- (__kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;
文档说明如下:
Returns a reusable table-view cell object for the specified reuse identifier and adds it to the table.
它返回的是一个受 identifier 管理定位的可重用的 tableViewCell。
那么它是如何重用的?
举例:假设系统启动的时候,tableView 可以显示 7 个 tableViewCell ,并且都有 tag 值,是 0 - 6。咱们把 tableView 向上滑动,那么 tag 为 0 的 Cell 将会移动到 tag 为 6 的 Cell 下面。重新设置属性。为 1 的 Cell 会移动到 0 的 Cell 下面。。。 这就是 “可重用”。
但是有的同学会问了:经常会有 cell 重叠的情况发生, 这个很容易理解,因为 Cell 滑出界面并被放入重用队列时, cell 中的内容不会消失,可以通过下面代码解决。
- (void)layoutSubviews {[super layoutSubviews];/这里面对属性的值进行更改/ }
欢迎大家加入小编的iOS交流群638302184,群里会提供iOS学习资料以及各种iOS面试资料,书籍欢迎大家入驻!