- 博客(45)
- 资源 (21)
- 收藏
- 关注
原创 iOS之获取手机通讯录
#import "ViewController.h"#import //导入的头文件,iOS9之前是//#import @interface ViewController ()CNContactPickerDelegate>@end@implementation ViewController
2017-03-31 14:45:04 682
原创 iOS之微信app支付流程解析(一)
APP支付接入方法指引第一步:注册开放平台账号登录开放平台(open.weixin.qq.com),注册成为微信开放平台开发者。第二步:认证开放平台并创建APP开放平台需进行开发者资质认证后才可申请微信支付,认证费:300元/次;提交APP基本信息,通过开放平台应用审核,以获得AppID。第三步:提交资料申请微信支付登录开放平台,点击【管理中心】,选择需要申请支付功能对应的APP,开始填写资料...
2017-03-31 12:03:50 3091
原创 iOS之加密方式(二)实例/base64 /MD5/SHA
MD5加密-(NSString *)getMD5String:(NSString *)str{ const char *cstr = [str UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5(cstr, (CC_LONG)strlen(cstr), digest); NSMutabl...
2017-03-31 11:49:18 726
原创 iOS之国际化
iOS国际化原理分析国际化其实都大同小异,其核心思想就是为每种语言单独定义一份资源。iOS就是通过xxx.lproj目录来定义每个语言的资源,这里的资源可以是图片,文本,Storyboard,Xib等。每种语言都有自己的语言代码.lproj文件夹,加载资源时只需要加载相应语言文件夹下的资源就OK,这步可以系统为我们完成,也可以手动去做。项目源代码中如果有多个...
2017-03-30 12:53:43 855
原创 iOS之app中接入支付宝的流程解析(一)
第一步:创建应用并获取APPID,添加应用功能要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在开发者中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。1.添加应用功能
2017-03-25 14:12:02 11517
原创 iOS之block的实现原理(二)
block的几种类型:https://www.jianshu.com/p/6568f245deb2NSGlobalBlock block 内部没有引用外部变量的 Block 类型都是 NSGlobalBlock 类型,存储于全局数据区,由系统管理其内存,retain、copy、release操作都无效。 NSStackBlock block 内部引用外部变量,retain、relea...
2017-03-24 21:38:54 608
转载 iOS之AFNetworking的基本原理
AFNetWorking是基于NSURLSession,在生成配置的时候有三种配置选择+ (NSURLSessionConfiguration *)defaultSessionConfiguration; //默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain中保存的证书进行认证授权。+ (NSURL...
2017-03-23 22:54:26 7834
原创 iOS之CoreData的使用/以及coreData中的多线程问题/版本迁移(二)
CoreData的使用1.coreData简介 coreData是苹果对sqlite的封装,不用操作sqlite语句,他提供了对象关系映射功能,能将oc对象转化成数据,保存在sqlite中,也能将保存的数据还原成oc对象; coredata有两种队列:私有队列,主队列 coreData中的主要包括这几个部分:管理对象上下文,数据持久化协调器,模型文件(包含实体,实体...
2017-03-23 09:11:49 850
原创 iOS AFN框架(二)的使用和有关序列化器的问题--缓存机制------
AFHTTPRequestOperationManager:内部封装的是 NSUrlConnection,网络请求管理类,用来负责发送网络请求,是使用最多的一个类.AFHTTPSessionManager :内部封装的是 NSUrlSession,网络请求管理类,用来负责发送网络请求,一些主要的工具类:AFNetworkReachabilityManager.h :实时监测网络状...
2017-03-22 23:29:51 850
原创 iOS中判断网络的状态的几种方法
1.AFN框架中的:AFNetworkReachabilityManager #import "LYBjudgeNetworkConnectManager.h"#import <AFNetworking.h>#import "Reachability.h"@implementation LYBjudgeNetworkConnectManager ...
2017-03-22 22:36:25 7639
转载 iOS测试的一般流程和注意事项
App(iOS版)测试要点一、 接口测试 测试后台向app提供的各个数据接口是否能够返回正确的数据(数据格式、数据内容)。二、 UI测试 对照原型图,测试app的UI界面是否与原型图一致;页面跳转、程序的运行逻辑是否与需求文档标注的流程图一致。三、 功能测试3.1 对照需求文档,测试app是否完整的实现了文档中注明的业务功能。
2017-03-22 22:08:51 5856
原创 iOS--OC获取app应用版本的信息和当前设备的各种信息,跳转到appstore(二)
NSDictionary *infoDictionary = [[NSBundlemainBundle]infoDictionary]; CFShow(CFBridgingRetain(infoDictionary));//打印出infoDictionary的详细信息//bundelID NSString *bundelID= [[NSBundlema...
2017-03-22 21:55:27 2605
原创 UI之PS操作(一)操作(一)
像素:一个点,像素的大小时相对单位,不确定,与分辨率有关;图像分辨率:单位长度有多少像素;dpi或ppi;每英寸有多少个点;设备分辨率:设备有多大的成像能力;屏幕分辨率:每英寸的长度上排列的像素点;像素=分辨率*英寸;印刷的分辨率一般设置为300ppi,大尺寸远距离的广告一般用30----45;平时网页设计一般设置成72ppi;一英寸=2.54cm;色彩:RGB--光学三原色---红绿蓝,用于网页...
2017-03-22 18:14:50 462
原创 OC中的static静态变量/extern全局变量/内存分区说明
内存分区示意图:static修饰全局变量1.在全局变量前加static,全局变量就被定义成为一个全局静态变量(全局变量和静态全局变量的生命周期是一样的,都是在堆中的静态区,在整个工程执行期间内一直存在)特点如下:1)存储区:静态存储区没变(静态存储区在整个程序运行期间都存在);2)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾
2017-03-22 18:09:50 3783
转载 iOS之http和https解释/加密的方式RAS/AES/has散列算法/ssh加密/MD5、数字证书
HTTP协议的工作原理(http是在tcp的基础上的)通常情况下,HTTP协议的工作原理很好理解,用户通过客户端向服务端发起一个请求,创建一个TCP连接,指定端口号,默认是80,然后连接到服务器工作。在那个端口监听浏览器请求。一旦监听到客户端请求,分析请求类型后,服务器会向客户端返回一个响应状态,比如"HTTP/1.0 404 OK",同时会返回特定的数据内容,如请求的资源,错误代码,其...
2017-03-22 12:16:06 3290
原创 C语言socket缓冲区及阻塞模式/粘包问题/数据的无边界性、常见问题
socket缓冲区每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入到缓冲区,函数就可以成功返回,不管它们有没有到达目标机器,也不管它们何时被发送到网络,这些都是TCP协议负责的事情。TCP协议独立于 write()/send() ...
2017-03-22 10:16:07 5227
原创 C语言之socket概述
sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数在Linux中,一切都是文件,除了文本文件、源文件、二进制文件...
2017-03-22 09:55:03 965
原创 C语言之TCP和UDP代码示意
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接...
2017-03-22 09:45:48 3813 3
原创 C语言Socket之iOS项目中的socket应用/IPV6 转换/域名转IP/解析socket接受的数据/心跳包
使用系统API合成IPv6:如果你的APP需要连接的服务器 只有IPv4地址,没有域名,可以用 getaddrinfo 来解决。下面的代码,将IPv4地址(如:192.0.2.1) 地址转换为IPv6地址(如:包含 64:ff9b::192.0.2.1 的struct sockaddr_in6 ) #include <sys/socket.h>#include <netd...
2017-03-21 17:47:41 2286
原创 iOS之JSON序列化(自定义对象,字典,数组的序列化)
注意:要序列化的对象:最外层的对象类型必须是NSArray或NSDictionary;字典的key必须是NSSting类型;数字不能是NAN或无限大;所有的对象类型必须时NString,NSNumber,NSAray,NSDIctionary,NSNull;- (void)viewDidLoad { [super viewDidLoad]; // Do any additional s...
2017-03-21 12:41:55 1713
转载 iOS自定义NSLOG和断言的使用/description方法的使用原理(对象,数组,字典)
举例: DLog(@"-----%@",@"自己添加的");控制台输出: [文件名:/Users/lambo/Desktop/‰ª£Á†ÅÈõÜ/ÂÆûÁî®ÊäÄÊúØ/ÂÆûÁî®ÊäÄÊúØ11-ËßÜÈ¢ë/01-Â≠óÂÖ∏ËΩ¨Ê®°Âûã/01-Â≠óÂÖ∏ËΩ¨Ê®°Âûã/ViewController.m][函数名:-[ViewController viewDidLoad]...
2017-03-18 12:55:06 901
原创 iOS之coreData的原理和使用以及coreData中的多线程问题(二)
原理:CoreData是iOS4.0的时候出来的。我们的Sqlite支持的是.sqlite类型的文件而我们的CoreData支持的文件类型分为三大类:第一是Sqlite类文件,第二是binary文件(二进制),第三个是XML类文件 managed object context(管理对象的上下文,有时直接叫"Context")。managed object context就像是一个关...
2017-03-18 11:33:29 558
原创 iOS文字上面划线的几中方式
1.在原有的label上放一个view;2.用NSAttributeString实现3.drawRect绘图实现(一定要调用super方法,否则文字不显示)
2017-03-18 11:21:41 1394
原创 iOS之ARC内存管理及强弱指针(二)
ARC是苹果为了简化程序员对内存的管理,推出的一套内存管理机制,使用ARC机制,对象的申请和释放工作会在运行时,由编译器自动在代码中添加retain和release1> strong:强指针引用的对象,在生命周期内不会被系统释放,在OC中,对象默认都是强指针2> weak:弱指针引用的对象,系统会立即释放,弱指针可以指向其他已经被强指针引用的对象他们都是 arc 的东西...
2017-03-18 11:20:17 454
原创 iOS之电商项目中的注意事项
1.价格类的属性用NSString或者NSNumer修饰;2.还剩多少时间注意服务器系统的时间,有时候需要加一天。3。通过数据模型改变收藏或者显示的状态;4.当要删除某条数据时,数据模型和本地存储的数据都要删掉。5.当可变数组或字典正在遍历的时候,不要更改数据。6.电商项目中现在的购物车数据,都实时存到后台数据库;...
2017-03-18 11:14:12 1709
转载 iOS之苹果自带的json解析NSJSONSerialization(序列化)
NSJSONSerialization介绍:NSJSONSerialization提供了将JSON数据转换为Foundation对象(一般都是NSDictionary和NSArray)和Foundation对象转换为JSON数据(可以通过调用isValidJSONObject来判断Foundation对象是否可以转换为JSON数据)转换成JSON的对象必须具有如下属性:1.顶层对象必须是NSArr...
2017-03-18 10:59:08 27056
转载 iOS 之__block/__weak/__bridge的用法说明
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics、Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFRelease将其手动释放,那么CF和OC相互转化的时候该如何管理内存呢?答案就是我们在需要时可以使用__bri...
2017-03-18 01:13:56 586
转载 iOS 之深拷贝与浅拷贝
浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char* str = (char*)malloc(100);char* str2 = str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。iOS 里面的浅拷贝:在 iOS 里面, 使用retain 关键字进行引用计数,就是一种...
2017-03-17 11:40:04 392
转载 iOS KVC的原理和用法
举例:/** kvc (key value coding) 和 对象 自动的做类型转换 为对象的name属性赋值 [p1 setValue:@"lisi" forKey:@"name"]; // 取出p1对象中 age属性的值 [p1 valueFo...
2017-03-16 21:32:57 2540
原创 iOS Umeng分享/第三方授权登录
//错误代码提示:typedef NS_ENUM(NSInteger, UMSocialPlatformErrorType) {+ UMSocialPlatformErrorType_Unknow = 2000, // 未知错误+ UMSocialPlatformErrorType_NotSupport = 2001, ...
2017-03-16 10:49:37 9890
原创 iOS中获取路径/URL的方法总结、url中的相关属性
总结:带file的方法都是获取本地的资源; // 1. 获取文件本地路径 NSString *path = [[NSBundlemainBundle]pathForResource:@"cars_simple.plist"ofType:nil]; // 2. 从本地路径读取文件内容到临时数组中 NSArray *tempAr...
2017-03-14 16:14:15 15737
转载 iOS AVFoundation/AVCaptureSession实现自定义相机界面录像(三)
要用到的类:AVCaptureSessionAVCaptureVideoPreviewLayerAVCaptureDeviceInputAVCaptureConnectionAVCaptureVideoDataOutputAVCaptureAudioDataOutputAVAssetWriterAVAssetWriterInput // AVCaptureMovieFileOutput是AV...
2017-03-10 23:17:36 4211
原创 iOS AVFoundation/AVCaptureSession实现自定义相机界面拍照(四)拍照、自定义裁剪框、图片查看器
#import "ViewController.h"#import <AVFoundation/AVFoundation.h>#import <AssetsLibrary/AssetsLibrary.h>//写入相册需要的@interface ViewController ()<UIGestureRecognizerDelegate>/** * AVCaptu...
2017-03-08 17:04:41 2265
转载 iOS中的权限开启问题,打开相机
<!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相机 --> <key>NSCameraUsageDescription</key>
2017-03-07 17:52:46 4403
原创 iOS之图片压缩的方法
方法一:UIGraphicsBeginImageContext(newSize); //开启图形上下文 [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 图片从新绘制UIImage* newImage = UIGraphicsGetImageFromCurrentImageContex
2017-03-07 17:43:24 286
原创 iOS之SDWEBIMAGE的使用
参考:http://blog.csdn.net/benyoulai5/article/details/50462586http://www.jianshu.com/p/7a2aab8553fehttps://www.jianshu.com/p/7dea5b081d24让sdwebimage不缓存图片,每次都重新加载url:https://blog.csdn.net/feiyuyuan_...
2017-03-07 12:30:26 446
转载 iOS之NSUserDefaults存储自定义对象(二)
NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这时候就不能直接存储到NSUserDefaults了一、了解NSUserDefaults以及它可以直接存储的类型 NSUserDefaults是一个单例,在整个程序中
2017-03-07 12:04:12 206
原创 iOS setvalueforkey 字典转模型以及注意事项
字典转模型我们需要考虑三种特殊情况:1.当字典的key和模型的属性匹配不上2.模型中嵌套模型(模型属性是另外一个模型对象)3.数组中装着模型(模型的属性是一个数组,数组中是一个个模型对象)#import <Foundation/Foundation.h>@interface GrouponsModel : NSObject@property (nonatomic,copy)NSStri...
2017-03-06 21:18:54 900
原创 iOS runtime运行时的用法(一)
原理解说:https://www.jianshu.com/p/19f280afcb24https://blog.csdn.net/jq2530469200/article/details/51886578<span style="color:#333333">RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。</span&...
2017-03-06 16:18:41 2232
原创 iOS之NSCache的使用
#import "ViewController.h"@interface ViewController () <NSCacheDelegate>/// 全局的缓存池@property (nonatomic,strong)NSCache *cache;@end@implementation ViewController- (NSCache *)cache{ if (_cache =...
2017-03-06 16:06:51 406
屏幕录像专家
2013-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人