- 博客(46)
- 收藏
- 关注
转载 APP支付之使用ApplePay支付开发步骤
最近苹果推出了一种新的支付方式–ApplePay支付,虽然毁誉参半,但是不得不承认国内很多的公司还有商家已经开通了ApplePay,可能最先锋的莫过于肯德基和招商银行了。抛开优劣与否不说,作为一个开发者自然要第一时间把ApplePay搞懂搞通,用不用再另说。ApplePay的支付流程在具体去进行每一步操作的时候一定要先了解一下ApplePay的具体的操作流程。这里是官方给出的开发者
2016-08-30 20:52:05 1592
转载 IOS缓存机制详解
应用需要离线工作的主要原因就是改善应用所表现出的性能。将应用内容缓存起来就可以支持离线。我们可以用两种不同的缓存来使应用离线工作。第一种是按需缓存,这种情况下应用缓存起请求应答,就和Web浏览器的工作原理一样;第二种是预缓存,这种情况是缓存全部内容(或者最近n条记录)以便离线访问。像第14章中开发的Web服务应用利用按需缓存技术来改善可感知的性能而不是提供离线访问。离线访问只是无心插柳的结果。Twi
2016-08-20 20:45:33 420
原创 objective-c中是如何实现线程同步的?
多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。 一、线程创建与启动 线程创建主要有二种方式: 当然,还有一种比较特殊,就是使用所谓的convenient method,这个方法可以直接
2016-08-20 19:32:42 676
原创 线程间的相互通信
一、简单说明线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信线程间通信的体现1个线程传递数据给另1个线程在1个线程中执行完特定任务后,转到另1个线程继续执行任务线程间通信常用方法- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;-
2016-08-19 15:11:09 286
转载 Runtime的几点用法总结
Objective-C是一门动态(运行时)语言。它将很多静态语言在编译和链接时期做的事放到了运行时候来做,这就使得我们写代码时候更具灵活性,如可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这就意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译代码,即使Objc Runtime。 所做的事在这个库中,对象使用C语言中的结构体表示,方法使用C函数来实现。这些
2016-08-19 10:49:28 790
原创 深入理解数组与指针的区别
在大一刚开始学习C的我们也许并没有真正的理解数组与指针,其实C的精华部分便是指针与内存的分配这一块。 那是充其量我们能够知道数组与指针肯定不是完全等价的,相同点就是:对数组的引用总是转化为对指针的引用,而不同点呢就是数组名是常量而指针是变量仅此而已,随着我们资历不断的提升,我们么更加进一步的去理解它,从他的本质去即内存的分配与访问去理解它。 好了,首先呢我们必须明白一个概念在
2016-08-18 11:38:21 377
原创 透彻理解KMP算法 - 字符串匹配/子串查找
好好打下字符串算法基础。本篇通俗、透彻地解释线性时间复杂度的字符串匹配算法:KMP算法。之前写过KMP算法,但时间久了回顾起来还是要花点儿时间,觉得需要进一步加深;现在就试图彻底吃透它。若是感兴趣豆友们能得到一点点的帮助就更好了~ 别忘了点个赞:-)KMP 算法的历史就不说了,感兴趣的去Google 下就有,大名鼎鼎的高德纳(Knuth)大神是发明人之一。初次接触KMP 算法时往往会被
2016-08-17 21:24:42 4984
原创 抽象类
抽象类1)用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。例如:abstract class Animal { //用abstract来定义一个Animal为抽象类。}public abstract void enjoy(); //用abstract来定义一个抽象方法"enjoy"。2)含有抽象方法的类必须被声明为抽象
2016-08-17 20:32:50 371
原创 在项目什么时候选择使用GCD,什么时候选择NSOperation?
项目中使用NSOperation的优点是NSOperation是对线程的高度抽象,在项目中使用它,会使项目的程序结构更好,子类化NSOperation的设计思路,是具有面向对象的优点(复用、封装),使得实现是多线程支持,而接口简单,建议在复杂项目中使用。项目中使用GCD的优点是GCD本身非常简单、易用,对于不复杂的多线程操作,会节省代码量,而Block参数的使用,会是代码更为易读,建议在简单项目中使
2016-08-17 20:26:58 972
原创 https 和 http 端口号是多少
https端口:443 服务项目:Https 网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP,简单来说,就是HTTP安全版,打开的网页中,如果网址前缀为https,则说明该网站开启了 https安全访问。 说明:443端口用于网页浏览,关闭电脑443端口,将会导致https网页无法正常打开。 HTTP:80端口 服务:HTTP 说明:用于网页
2016-08-17 20:17:44 21361
原创 文件操作(NSFileManager)
iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。上面的完整路径为:用户->资源库->Application
2016-08-17 16:26:33 244
原创 iOS 25个性能优化/内存优化常用方法
用ARC管理内存ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你提高性能,它能
2016-08-16 15:59:42 546
原创 Nullability、泛型集合与类型延拓
一引言二Nullability检测的支持三泛型集合的支持1有类型约定的集合2关于一个类型通配符3关于多参数的泛型集合4协变性与逆变性四类型延拓符的应用五结语一、引言 在Xcode7中,iOS9的SDK已经全面兼容了Objective-C的一些新特性和新功能。这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的iOS系统,那么这些特
2016-08-16 15:40:06 623
原创 集成支付宝钱包支付iOS SDK的方法与经验
下载首先,你要想找到这个SDK,都得费点功夫。现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 “请点此下载集成开发包”Baidu和Googlep排在前面的支付宝开放平台,里面的SDK已经是2年前的版本了,而且还不支持64位架构。文档压缩包里有两个相关文档 : 《支付宝钱包支付接口开发包2.0标准版.pdf》 《支付宝钱包支付接口开发包2.0标准版接入与使用规则.pdf》 iOS
2016-08-16 10:29:16 447
原创 微信支付开发IOS图文教程案例
前言:下面介绍微信支付的开发流程的细节,图文并茂,你可以按照我的随笔流程过一遍代码。包你也学会了微信支付。而且支付也是面试常问的内容。 正文:1、首先在开始使用微信支付之前,有一些东西是开发者必须要知道的,打开下面链接: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=3_1 然后可以看到下面的页面,这
2016-08-15 20:46:00 304
转载 iOS 支付 [支付宝、银联、微信]
资料支付宝 //文档idk都包含了安卓、iOS版银 联银联官网资料DemoDemo给了一个订单号,做测试使用,若出现支付失败什么的,可能是已经被别人给支付了,或者是服务器订单过期了 ~一、支付宝1.1 请阅读支付宝文档和Demo1.2 导入对应的库将支付宝Demo中得这些东西全拷贝过来localhost:alipay mac$ ls APAuthV2Info.h Order.h
2016-08-15 19:32:35 685
转载 集成支付宝钱包支付iOS SDK的方法与经验
下载首先,你要想找到这个SDK,都得费点功夫。现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 “请点此下载集成开发包”Baidu和Googlep排在前面的支付宝开放平台,里面的SDK已经是2年前的版本了,而且还不支持64位架构。文档压缩包里有两个相关文档 :《支付宝钱包支付接口开发包2.0标准版.pdf》《支付宝钱包支付接口开发包2.0标准版接入与
2016-08-15 17:20:07 805
原创 iOS支付宝集成详细流程
实现支付宝支付的准备工作:1.向支付宝签约,成为支付宝的商户签约完成后,支付宝会提供一些必要的数据给我们商户ID:partner账号ID:seller 即支付宝账号签约需要营业执照 2.获取支付相关的 私钥和密钥,这两个东西为了数据安全上面这几个东西只要签约成功就可以看到 3.下载支付宝的SDK 下载网址: http://doc.open.al
2016-08-15 17:16:10 320
原创 CoreData初识
根据这片文档可以自己初步建立一个coreData,进行简单的数据的增删改查。1、新建工程,记得勾选Use Core Data2、建立好以后可以看到xxx.xcdatamodeld,在这里可以添加实体和实体的属性。需要注意的是:实体名字必须以大写开头。3、然后新建一个file,记得是NSManagedObject cubclass4、勾选自己建立的工程
2016-08-15 11:00:17 243
转载 在多线程环境中使用CoreData
其实CoreData学起来也没有很复杂,我们其实增删改查都和别的ORM大同小异。但是世界总是很复杂的,一根筋的去考虑问题很容易卡到蛋,默认情况下我们的代码都在Main Thread中执行,数据库操作一旦量多了,频繁了,势必会阻塞住主线程的其他操作,俗话说,卡住了。这个世界天然是多线程的,所以我们操作数据也必须多线程。CoreData对多线程的支持比较奇怪(按照一般的思路来说),CoreData的NS
2016-08-13 20:40:57 937
转载 ios客户端安全性问题分析及处理方式
目前,大部分的移动应用都是需要联网,与服务器进行通信,获取最新的数据。一提到网络,肯定就有大量和安全性相关的问题出来。所以,对于我们开发者而言,如何打造一个安全的App,是必须面对的问题。前段时间我专门对iOS移动应用安全性方面进行了研究,下面我们分析iOS应用中可能会存在的安全风险以及相对应的处理方式。1、网络安全在网络请求中,我们经常使用两种请求方式:GET和POST。如果是用GET发送请求,当
2016-08-13 19:47:42 3451 2
原创 iOS深入学习(Block全面分析)
本文翻译自[苹果的文档][1],有删减,也有添加自己的理解部分。如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block为了方便对比,下面的代码我假设是写在ViewController子类中的1、第一部分定义和使用Block,- (void)viewDidLoad{ [super viewDidLoad]; //(1)定义无参无返回值的Block
2016-08-13 19:34:03 303
原创 gcd使用block注意事项
1、block 在实现时就会对它引用到的它所在方法中定义的栈变量进行一次只读拷贝,然后在 block 块内使用该只读拷贝; 2、非内联(inline) block 不能直接访问 self,只能通过将 self 当作参数传递到 block 中才能使用,并且此时的 self 只能通过 setter 或 getter 方法访问其属性,不能使用句点式方法。但内联 block 不受此限制; 3、使用 we
2016-08-13 19:22:36 1121
原创 iOS 获取键盘高度
- (void)viewDidLoad{ [super viewDidLoad]; //增加监听,当键盘出现或改变时收出消息 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWil
2016-08-13 17:08:31 220
转载 AFNetworking 3.0迁移指南
AFNetworking 3.0AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。
2016-08-12 19:15:23 418
转载 AFNetworking 3.0携带参数上传文件Demo
一、服务端代码:服务端是java用国产nutz搞的,实际mvc框架都大同小异,就是提交文件的同时还带了个表单参数[java] view plain copy @AdaptBy(type=UploadAdaptor.class, args={"${app.root}/WEB-INF/tmp/user_avatar", "8192", "utf-8", "200
2016-08-12 17:52:14 1705
转载 iOS使用AFNetworking上传图片或者文件
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer= [AFHTTPResponseSerializer serializer]; [manager POST:url parameters:params constructi
2016-08-12 17:08:05 541
转载 AFNetworking 文件上传Data,File图片,文件等上传
一:AFNetworking的文件上传: 主要几个以下类似 - (BOOL)appendPartWithFileURL:(NSURL *)fileURL name:(NSString *)name error:(NSError * __autoreleasing *)error;
2016-08-12 16:21:09 6179
原创 iOS-获取当前View所在的控制器
iOS-获取当前View所在的控制器@interface UIView (CurrentController)/** 获取当前View的控制器对象 */-(UIViewController *)getCurrentViewController;@end.m#import "UIView+CurrentController.h"@implementation UIView (CurrentContr
2016-08-12 14:33:58 435
转载 表单上传
9 #import 10 11 @interface RequestPostUploadHelper : NSObject12 13 16 + (NSString *)postRequestWithURL: (NSString *)url // IN17 postParems: (NSMutableDictionary *)po
2016-08-12 14:13:03 509
转载 AFNetworking下载网络相关的附件(音视频)等到本地app包中做离线来提高用户体验
使用场景: 有时我们做的app在请求网络相关的附件资源时有图片的也有音视频的,请求图片我们常用的第三方库一般是SDWebImage就足够了,但SDWebImage不支持对像音频、视频及压缩zip等附件的下载支持,这时我们可以利用AFNetworking的AFHTTPRequestOperation类来完成下载并保存到指定的app的Caches目录下,底层对这块的封装代码如
2016-08-09 21:00:23 235
转载 iOS应用程序内购/内付费(一)
首先进入苹果的ItunesConnection(https://itunesconnect.apple.com)点击左上角的加号新建一个App应用,点击后该网站会弹出一个信息编辑框,大家只要将上面的信息填充完毕点击save即可在苹果的app平台上拥有一个属于自己的App。在套装ID的上,需要提前为该App申请一个AppID以及BundleID,只要是申请成功了就会在选择
2016-08-09 19:13:05 5231
转载 iOS获取UUID,并使用keychain存储
UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了,如果有更好的解决办法,欢迎留言。(我整理的解决办法的参考来源:http://blog.k
2016-08-09 16:16:14 753
转载 购物车的实现原理
购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已。用 户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品就自动保存到你的购物车中,重复选购后,最后将选中的所有商品放在购物车中统一到付款台结账,这也是尽量让客户体验到现实生活中购物的感觉。服务器通过追踪每个用户的行动,以保证在结账时每件商品都物有其主。 购物车的功能包括以下几项:
2016-08-08 16:39:32 399
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-08-08 15:29:09 161
转载 AFNetworking实现程序重新启动时的断点续传
今天需要用AFNetworking实现断点续传的功能,但是在进行了一番研究之后,发现AFNetworking虽然支持下载文件的暂停和继续,但是程序重新启动后再次下载无法进行续传。网上有说可以通过AFDownloadRequestOperation这个AFNetworking的扩展库来实现重新启动后的续传,但是经过本人测试,这个库在最新的AFNetworking上会报错,无奈之下,参考他的代码,自己
2016-08-06 17:02:40 197
转载 启动图动画
http://blog.csdn.net/hitwhylz/article/details/19079549最近在使用《青葱日记》这款App,发现它的启动界面做的很精美。不同我自己之前简单的替换Default.png图片。 它的动态效果做的不错。于是乎,花了点时间,自己实现了这个功能。 其实也很简单,具体效果如下实现起来也不困难。
2016-08-06 16:43:05 246
转载 iOS-本地推送和远程推送,常用的三方推送和常用的测试方法,推送实现和原理详解
什么是消息推送举一个常见的例子,我们的手机上经常会有弹出一些信息,例如QQ信息、微信信息等等,这就是常见的消息推送。例如:消息推送的类型:在屏幕顶部显示一块横幅(显示具体内容)在屏幕中间弹出一个UIAlertView(显示具体内容)在锁屏界面显示一块横幅(锁屏状态下,显示具体内容)更新app图标的数字(说明新内容的数量)播放音效(提醒作用)这是我们常见的推送
2016-08-06 15:35:46 1627
转载 【iOS】ARC-MRC下的单例及其应用
单例的应用十分普遍,单例模式使一个类只有一个实例。*易于供外界访问.*方便控制实例个数,节约系统资源.*OC中的常见单例:如:UIApplication, NSNotificationCenter, NSUserDefaults, NSFIleManager。*应用程序中用到的单例:如:背景音乐,音效管理等。一、ARC中实现单例创建单例的步骤
2016-08-06 14:08:26 227
转载 MKNetworkKit
在苹果开发中,我们可以使用苹果提供的NSURLConnection和NSURLRequest网络请求API来解决大部分的WebService请求,但使用起来不是很简洁方便,因此正面介绍一个第三方提供的网络框架MKNetworkKit。1、什么是MKNetworkKit?MKNetworkKit 是一个使用十分方便,功能又十分强大、完整的iOS网络编程代码库,完全基于 ARC。它只有两个
2016-08-06 10:27:17 239
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人