iOS学习
nike_hh
积跬步,方能至千里。
展开
-
iOS开发:货币的精确计算
iOS开发:货币的精确计算一,问题在做iOS移动端的支付时遇到了一个问题:支付宝支付是直接传入订单金额,而微信支付的单位是以分为单位,需要将订单金额乘以100后取整,因此二导致你的订单的金额与实际的支付金额相差1分钱。解决方法://支付金额: paymentAmountString //订单金额的单位:元 NSDecimalNumber *r原创 2015-11-11 11:33:11 · 643 阅读 · 0 评论 -
iOS 推送收不到通知
iOS 推送收不到通知一、准备工作1、确认您的应用在苹果开发者网站上已经正确配置了APNs,并且下载安装了APNs证书;2、请使用设备来测试推送。模拟器是获取不到device token的,所以不能进行绑定,当然也不能进行推送测试。满足以上前提条件时,核对以下步骤:3、确认修改了BPushConfig.plist的API_KEY是正确的应原创 2016-08-06 14:10:24 · 11561 阅读 · 0 评论 -
Error Domain=kCFErrorDomainCFNetwork Code=-1002 解决办法
1、数据请求报错1002:Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x7fa9b1d06120 {Error Domain=kCFErrorDomainCFNetwork Cod原创 2017-10-11 11:52:30 · 9419 阅读 · 1 评论 -
iOS PEM证书
iOS PEM证书一、准备工作1.登录到 iPhone Developer Connection Portal(http://developer.apple.com/iphone/manage/overview/index.action )并点击 App IDs2. 创建一个不使用通配符的 App ID 。通配符 ID原创 2016-08-05 12:28:11 · 1026 阅读 · 0 评论 -
iOS App性能优化
iOS App性能优化1、重用和延迟加载越多的视图就有越多的绘图操作,最终意味着更多的CPU和内存开销。(1)重用:不要一次创建所有的子视图,而是在你需要的时候创建,然后把它们加入重用队列中,如UITableView;(2)合理选择视图的创建时机a,提前创建,延迟加载:消耗了更多的内存,因为你从创建到释放都保留了它的内存,然而在使用的时候其相应比较快速;b,需要时创建,原创 2015-12-01 09:18:02 · 509 阅读 · 0 评论 -
堆与栈的对比
堆栈的对比一、管理方式栈:她是有编译器自动管理的,无需手工控制;堆:是否工作有程序猿控制,易产生memory Leak。二、申请大小栈:在windows下,栈的大小事2M,它是向低地址扩展的数据结构。意思是栈顶上的地址和栈的最大容量是系统预先约定好的,如果申请的空间超过了栈的剩余空间就会overflow;堆:它是向上扩展的数据结构,是不连续的内存区域原创 2015-12-11 16:37:35 · 409 阅读 · 0 评论 -
duplicate symbol _OBJC_IVAR_$
duplicate symbol _OBJC_IVAR_$ Xcode编译报错:duplicate symbol _OBJC_IVAR_$ _UserSimpleModel._industry in:可能原因: 1、重复添加某个文件。解决办法:搜索工程,删除多余的文件; 2、文件添加错误,即后缀 .m 误写为 .h 。解决原创 2016-03-29 20:33:57 · 2356 阅读 · 0 评论 -
iOS NSOperationQueue与GCD
iOS NSOperationQueue与GCDNSOperationQueue 是用GCD构建封装的,它是GCD的高级抽象!一、对比1、OC先引入的是NSOperation,iOS4之后引入了GCD和NSOperationQueue,NSOperationQueue内部是用GCD实现的。GCD是底层的C语言构成的API,而NSOperationQu原创 2015-12-02 17:01:08 · 769 阅读 · 0 评论 -
iOS 多线程学习之GCD
iOS多线程学习之GCDGCD是Apple开发的一个多核编程的解决方法。所有的调度队列都是先进先出的。因此,队列中的任务的执行顺序与其加入队列的顺序相同。一,dispatch queue分成以下三种:1)运行在主线程的Main queue,是一个全局可用的串行队列,通过dispatch_get_main_queue获取;任何需要刷新UI的操作都在主线程里面执行,而对原创 2015-10-13 17:12:55 · 385 阅读 · 0 评论 -
iOS 获取设备信息
iOS 获取设备信息获取设备信息,不啰嗦,直接上代码:/********************** UIDevice *************************///IDFA//add: AdSupport.framework#define kDeviceIDFA [[ASIdentifierManager sharedManager] a原创 2015-11-24 17:00:07 · 412 阅读 · 0 评论 -
iOS 低耦合和高聚合
iOS 低耦合和高聚合 1、 聚合,是对一个模块内部的度量,也就做内聚。这里的模块是广义的模块,它可能是子系统,可能是功能模块,也可能是功能模块中的某一个类。模块的成分包括模块的行为和状态。要做到高聚合,那么模块内部的行为必须要模块的内部状态紧密关联。通俗来讲,一个模块仅完成一个独立的功能,模块内部不存在与该功能无关的操作或状态。2、 耦合,是模块之间相关联程度的度量原创 2015-11-24 16:47:42 · 2090 阅读 · 0 评论 -
iOS 单例
iOS 单例单例的应用十分普遍,单例模式使一个类只有一个实例。优点:易于供外界访问,方便控制实例个数,节约系统资源。一、ARC中实现单例1,定义一个全局的静态变量 _instance,用来记录“第一次”被实例化出来的对象;2,重写 allocWithZone 方法,此方法是为对象分配内存空间而必须调用的一个方法因此,在此方法中使用“dispatch_原创 2015-11-23 11:17:21 · 265 阅读 · 0 评论 -
KissXML/DDXMLDocument: Declaration of 'xmlKeepBlanksDefault' must be imported
更新Xcode9.3 后,项目工程里的KissXML/DDXMLDocument.m文件报错:1、Declaration of 'xmlKeepBlanksDefault' must be imported from module 'libxml2.parser' before it is required2、Conflicting types for 'xmlParseMemory'DDXMLD...原创 2018-04-16 15:29:56 · 3198 阅读 · 0 评论