XMPPFramework的使用 >0原理:建立dataModel,然后建立NSManagedObject,就会自动建立模型和实体间的映射关系. 用NSPersistentStoreCoordinator可以协调Model和Storage之间的关系;>1模式:客户端-服务器-客户端.客户端的信息和聊天记录都存储在了服务器上;>2用XMPPStream实现账户的注册和登录;>3登陆后通过激活xmppRoster模块,让后
IOS开发中的实用技术使用注意点 二维码>1二维码扫描的思路:输入设备,输出设备,两者间的管理者,添加管理者,设置解析类型,展示数据.>2二维码扫描的结果是一个字符串.>3二维码应用所在的框架是 ,在IOS9新增的框架,通过该框架可以创建SFSafariViewController.>4到扫描到需要的内容后需要对管理者进行手动关闭,放置重复扫描.方向/磁力计/陀螺仪>1导入框架.
NSOperation >1NSOperation操作是抽象的,规范子类的共同属性,子类包括NSInvocationOperation/NSBlockOperation;>2NSBlockOperation的简写: [[[NSOperationQueue alloc] init] addOperationWithBlock:^{};>3与GCD相比优点: OC框架,更加面向对象,是对GCD的封装;
GCD >1是苹果专门用来处理多核CPU的,可以自动管理线程以及CPU的调用,可以提高效率>2队列 串行(serial dispatch queue) >1任务依次执行(First in First out) >2创建:dispatch_queue_create(“标示符”,DISPATCH_QUEUE_SERIAL); 并行(con
网易新闻逻辑 >1页面分为导航栏和页面展示两部分.上部分可以左右滚动,栏目个数不确定,可以增加,下面页面也一样,所以可以选用CollectionView和ScrollerView,考虑到单元格的重用可以提高效率,因此采用CollectionView来实现;>2开发采用MVVM模式,这样可以减轻ViewController中代码的编写,让导航栏和页面展示栏分别控制自身的Model和View的展示;>3导航
OC/JS/CSS >1利用UIWebView的 stringByEvaluatingJavaScriptFromString方法可以执行JS代码;>2通过UIWebView的代理方法可以监听网页的加载进程;>3CSS控制网页的样式,有行内/页内/外部三种加载样式;>4JS动态设置网页,写在标签内;
多线程基础 >1多线程可以将耗时操作放在子线程执行,保证UI界面的正常交互,常见的耗时操作:I/0操作和网络请求;>2基本概念 同步:多个任务依次执行;异步:多个任务同时执行; 进程:运行的应用程序;线程:进程的基本单位,用来执行任务; 多线程就是一个进程中开启多个线程; >1优点:可以适当提高程序运行效率和CPU的执行效率;
网络七层协议 >1物理层:规定了计算机的连接方式,规定了连接标准;>2数据链路层:规定0和1的解读方式;(以太网协议,规定了”数据包”的概念);>3网络层:通过IP地址来确定网络中的计算机的位置; 子网掩码与IP地址做”与”运算,得出计算机所在的子网络; IP地址有IPv4,IPv6两种; DNS服务器:将域名解析成IP地址; 网络层建立”主机”到”主机”
HTTP请求 >1HTTP协议:超文本传输协议(Hypertext Transfer Protocol) HTTP协议规定了客户端和服务器之间的数据传输格式; HTTP协议是在网络开发中最常用的协议.不管是移动客户端还是PC端,访问网络资源最常使用的协议 优点 >1简单快速; >2灵活:可以传输任意类型的数据;
NSUrSession和AFN >1NSUrlSession相当于网络会话层,NSUrlConnection相当于网络连接层;>2NSUrlSession使用的步骤: 实例化网络会话; 根据网络会话和网络需求,实例化网络任务;(NSUrlSessionDataTask,NSUrlDownloadTask,TaskNSUrlSessionUploadTask) 开启网络任务(默认的网络任
文件下载 >1使用NSUrlConnection异步下载文件出现的问题:当下载大文件时,内存暴涨. 解决方法1:NSUrlConnectionDownloadDelegate代理方法,内存正常,无法获取需要存储的data; 解决方法2:NSUrlConnectionDataDelegate代理方法:内存正常,通过NSFileHandle和NSOutputStream可以实现data的
文件上传 >1 POST请求和GET请求的区别 GET请求将参数拼接在url中,不安全; GET请求对参数长度有限制; GET请求没有请求体 而POST请求与GET请求相反>2 文件上传采用POST请求,将文件内容放在请求体中 文件上传的步骤: 设置请求头的数据格式和边界格式 拼接内容,严格按照格式:上边界,内容,下边界
HTTP请求和数据安全 >1开发中基本所有的请求都是HTTP请求,即时通信(IM)除外;>2最常用的HTTP请求:GET POST HEAD>3HTTP请求内容 客户端发送请求: 1>请求行:包括请求方法 资源路径 HTTP版本协议 2>请求头:请求头信息中包含服务器所需要的参数,大部分不需要手动设置 3>请求体:GET请求的参数拼接在
Jason和xml文件的解析 >1服务器给客户端返回的数据类型: 视频/音频/文件/图片(SDWebImage下载) HTML 看书类/商品详情页 直接使用UIWebView展示页面 UIWebView直接解析HTML/CSS/JS>2移动端和服务端的数据交互: 移动端:ios(OC/Swift) 安卓(java) 后端:java/php/.net 数
用UIButton的类方法ButtonWithType创建时调用的是initWithFrame方法 最近模仿写了一下网易彩票的新特性界面,发现在用ButtonWithType方法时,需要重写自定义Button的initWithFrame方法,才能在界面上正常显示。下面是重写init方法:界面效果:重写initWithFrame方法:界面效果:
UITableViewCell和UICollectionViewCell创建的三种方式及应用选择 UITabelView和UICollectionView是学习IOS基础知识时入门的两个类,它们都继承至UIScrollView,都可以用来处理出现重复单元的问题,因此将两者放在一块对比学习,能更深刻地理解这两个类。1 UITabelViewCell创建的三种方式:(1)自定义 [UITableViewCell alloc] initWithStyle:(UITableVie
OC中的字符串(NSString)、字符串数组(NSArray)和字典(NSDictionary) NSString字符串比较方法compare,返回值NSComparisionResult有3个枚举值:NSOrderedAscending(升序),NSOrderedSame(同样),NSOrderedDiscending(降序)。判断字符串内容是否相等的函数:isEqualToString。前后缀检查函数:hasPrefix,hasSuffix。字符串查找函数:rangeOfStrin
OC基础-ARC和MRC的理解及应用 #import @interface NSString (countNum)-(int)count;@end#import "NSString+countNum.h"@implementation NSString (countNum)-(int)count{ NSUInteger NSLength = [self length]; int sum = 0;//定义
OC基础-内存管理 内存管理的概念:由于移动设备的内容极其有限,所以对其中无用的内存空间要进行及时回收,这称为内存管理。内存管理的范围:所有继承至NSObject的对象,其中基本数据类型由系统自动进行管理。内存管理的原理:当在栈区定义类的实例变量后,该变量就是该实例变量的一个所有者。实例化的类对象中有retainCount变量,称为对象的引用计数器。当引用计数器为0时,就会调用对象的deall
OC中类属性的封装方法和类的初始化 OC中用get和set方法设置的属性获取与设置方法可以通过点语法来调用,调用格式为:对象.对象变量比如声明一个类Person@interface Person:NSObject{int _age;} -(void)setAge:int age;//age属性的设置-(int)age;//age属性的获取@endPer