博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS需要学习和解决的若干问题-----------------
阅读量:4289 次
发布时间:2019-05-27

本文共 6119 字,大约阅读时间需要 20 分钟。

判断网络状态-----------

获取设备唯一标识,判断是否时在手机上第一次下载,用户是否是第一次使用-----------

沙盒存储-------------

NSCache缓存-------------

清除缓存------------------

网络请求图片SDWebImage------------

第三方登录时,判断是否装了第三方的客户端---------

自动布局-------Masory------ ---

模态UIPopPresentationController----------------

多线程GCD和NSOperation和NSThread------------

GCDSocket和socket----------------------

即时通讯环信和融云---------------

更改host重定向------------

打电话/发短信/发邮件-----------

设置返回按钮-------------

设置延长后台运行时间-----------

解决navigation盒scrollview上移的问题----------------

从appstore中获取app应用程序版本等信息---------------

IPV6域名转IP----------------

控制器界面之间的传值---------------

MBProgress的用法--------------

跳转到apostore更新和评价------------

加载的控制的几中方式---------------

常见的编译错误--------------

发布到appstore的流程和更新流程--------------

AFNnetworking用法---------------

原生网络请求NSURLSession和上传updateLoad和下载-dow nLoad和dataTask-------------

支付宝和微信集成------------

百度地图和苹果自身API------------

天气应用--------------

字典转模型和MJExtention----------

加载数据刷新和MJRefresh-----------

CALayer属性---------------

绘图------绘制图表曲线,趋势图--------

动画------------

UIDyNamic仿真动画--------------

视频和录像---------------

音频和录音------------

相册---------------

instrument检测分析----------

富文本NSAtrributedStirng/TextKit和CoreText--------------

CoreImage-------------

屏幕旋转-----------

strong weak assign copy修饰属性--------------

touch事件------------------------

状态栏设置--------------

corefoundation和foundation的桥接问题-----------------

黄色文件夹和绿色文件夹-------------

单利-------------------

代码性能测试测试运行时间-----------

内存分区和static---------------

scrollView ------------------

输出格式控制符-----------------

UIAlertViewController和UIAlertView--------------

collectionView和TableView-插入编辑删除-------------

openFire   和webdav 和    apache服务器-------------------

网络通信原理-OSI七层模型------------

cocoaPods-------------

git-------------

svn------------

手势------------

数据库存储sqlite和coreData和FMDB-------------

javascript和OC互相调用------------

UIWebView-------- WKWebview-------

reactiveCoaoa----响应式编程---------

UISearchBar和UISearchController-------------------

UIPickView和 UIDataPickView--------------

block中的循环应用问题-------------

响应者链条------------------------

消息循环原理------------------

静态库和动态库----------------

延迟执行的方法----------------

block-----------------

KVO-------------

KVC-------------

本地推送和与远程推送/极光推送---------------

内购------------

storyBoard-------------

UITabBarController-------------

控制器跳转------------

人脸识别-------------

语音识别--------------

通讯录------------

指纹识别--------------

传感器-------------

应用间跳转----------------

分享/友盟/sharedSDK/系统分享----------

登陆短信验证-------------

日历和日期-------------------

剪贴板UIPasteboard genaneralPasteboard-----------------

 description 和descriptionWithLocale解决中文问题:

加密问题------------

定时器NSTime和CADisplayLink------------

屏幕截图----------------

图片渲染和图片拉伸-------------

二维码应用----------

蓝牙----------------

视屏截图和视屏压缩------------

通知的使用-------------

UIT extField/UITextView -------------

键盘的使用-----------------

UIApplication--------------

通用设置导航栏-----------------

控制器的生命周期-------------

物联网--------------

直播---------------

电商-----------------

runtime-----------

埋点统计------------

emoji--------

新特性--------------

XML解析/HTML解析-/Hpple/ElementParse-----------

钥匙串保存---------------

UISearchBarController/UISearchBar---------

AVFoundation自定义相机-----------------

蓝牙-------------

IPAD——————————

即时通讯---------

SOCKET————————

网络七层模型--------------

http,https,tcp,udp,-------------

 

 

 

 

=================================================================

记住密码------------

忘记密码------------

密码不对闪退,断网闪退-----------

 

 

==================================

swift

 

===============有用的第三方框架=======

YYKit---------符合性框架;

sdwebimage----------自动加载图片框架

masonry-------自动布局框架

MJRefresh--------刷新框架

MJEXTENSION---------字典转模型

 

//+++++++++++++++++++++面试题库

 

1.KVO的原理

 

2.KVC的原理:

3.AFN原理:

4.SDWEBIMAGE原理:

5.MJRefresh

6.fmdb

7.https

8.第三方授权登录原理

9.单利的原理和应用场景

10.coredata

11.mjextention

12.apn远程推送的原理,极光推送

13.消息循环原理

14.多线程

15.block循环引用的原因及解决方法

16.运行时runtime

17.深拷贝,浅拷贝,copy,weak,retain,assign

18.友盟分享

19.支付宝,微信

 

 

===============C语言中

corefoundation------

quartzCore--------绘图

coreGraphic--------图片处理

coreImage-------图片处理

CFNetWork----------网络通信

 

CoreAudio-----用来操作设备上的音频硬件

CoreText-------处理文本样式

 

React Native-------facebook的开发框架

weex--------基于vue的h5的开发框架

小程序---百度,阿里,微信,

公众号,

flutter-------google发布的android和iOS混合开发平台

*******************面试:

runloop---------

runtime---------

http------、、

tcp、udp、socket的基本实现,数据传输阻塞、并发、粘包问题-------------(UDP、TCP)-、、、、、(阻塞、粘包、问题)、

block内部原理----------------、

tableview优化、缓存池机制原理-------------------、

js与oc互相调用-----------------、

蓝牙相关---------------

相机录像、音视频、直播相关、二维码---------------、(视频播放)、、(视频播放)、(相机)、、(视频压缩)、(二维码)、

多线程GCD的原理和使用、信号量、调度组、NSOperation依赖--------------------、、

app抓包---、

防抓包----1.监测网络代理,有代理不允许请求 2.服务器要发送的公钥存在客户端本地,用于验证。3.token机制+RSA加密。

逆向、安全问题-、加密设计-------------

直播----------

视频编码、解码------

 

即时通信---------

PDF相关技术-------

app直播与硬件交互----------

KVC原理-------

sdwebimage实现原理----

让sdwebimage不缓存图片,每次都重新加载url:

本地缓存了图片,但是后台修改了图片,刷新时怎样处理:可以跟后台协商好,后台更新了图片,就把url的文件名也该了,这样url就改变了,本地查找不到就重新下载。

kvo------

自动登录的实现原理------

APP网络请求中token失效的处理方法一:--------网络请求返回中判断是否是token失效,在VC基类中设置一个通知(add注册通知),当token失效直接发送一个通知告诉VCtoken失效,然后做下一步的处理(这样做可能每一个继承基类VC的页面都能收到通知,在当前控制器销毁或者返回到上一个页面的时候移除通知)。

***token处理方法2,在AFN的回调中判断token是否过期,发送通知到tabBarcontroller,做一个token的标识,如果token失效且已经发送了通知设为0,同时其他的请求返回token失效后不发送通知。等到新的token返回后再把token的标识设置为非0。

//第一种方法.这里可以移除该控制器下的所有通知 // 移除当前所有通知 NSLog(@"移除了所有的通知"); [[NSNotificationCenter defaultCenter] removeObserver:self];

//第二种方法.这里可以移除该控制器下名称为tongzhi的通知 //移除名称为tongzhi的那个通知 NSLog(@"移除了名称为tongzhi的通知"); [[NSNotificationCenter defaultCenter] removeObserver:self name:@"tongzhi" object:nil]。

***把token配置到afn的config中:以后每次不用传token,方法

NSURLSessionConfiguration * configuration = [NSURLSessionConfiguration defaultSessionConfiguration];

configuration.HTTPAdditionalHeaders = @{@"Authorization":[NSString stringWithFormat:@"Bearer %@",token]};

 

 

self和super的区别-----

【self class】:返回当前类。

self 是类的隐藏的参数,指向当前当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。这里只关注这个self。super是个 啥?super并不是隐藏的参数,它只是一个“编译器指示符”,它和self指向的是相同的消息接收者,拿上面的代码为例,不论是用[self setName]还是[super setName],接收“setName”这个消息的接收者都是son这个对象。不同的是,super告诉编译器,当调用setName的方法时,要去调用父类的方法,而不是本类里的,super只是指示符的作用没有实际意义。

当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用super时,则从父类的方法列表中开始找。然后调用父类的这个方法。

响应者连、消息传递机制--------

转载地址:http://yzmgi.baihongyu.com/

你可能感兴趣的文章
Elasticsearch-前缀、通配符、正则、模糊搜索详解
查看>>
Elasticsearch-搜索推荐
查看>>
java-nio之Selector组件
查看>>
java-编码解密
查看>>
netty源码分析之-Future、ChannelFuture与ChannelPromise详解(3)
查看>>
redis主从集群的搭建
查看>>
redis cluster集群搭建与深入分析(1)
查看>>
netty源码分析之-引导详解(4)
查看>>
redis cluster节点的添加与删除(2)
查看>>
nginx+redis+tomcat三级缓存架构讲解
查看>>
Reactor模式详解
查看>>
基于OpenRestry部署nginx+lua实现流量定向分发
查看>>
netty源码分析之-服务端启动核心源码分析(5)
查看>>
Storm并行度和流分组详解
查看>>
缓存数据预热详解
查看>>
热点数据降级详解(storm+nginx+lua)
查看>>
加载更多功能实现
查看>>
React相关Dom约束性和非约束性操作
查看>>
Hystrix高可用架构介绍
查看>>
netty源码分析之-SimpleChannelInboundHandler与ChannelInboundHandlerAdapter详解(6)
查看>>