自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 外卖红包领取小程序快速开发

对于经常点外卖的小伙伴来说,红包绝不可少,之前点外卖的时候用到过一个小程序可以直接领取红包。仔细研究发现原来是通过跳转到官方的小程序的CPS活动的一种。瞬间想到我也可以搞个小程序,薅自己的羊毛。领到的红包如果合适的话还能省一笔钱。作为一个拿来主义的程序员,直接到gayhub上面看看有没有现成的源码。果然发现gayhub上已经有很多成熟的方案啦。https://github.com/zwpro/couponshttps://github.com/leixiaokou/waimai-cps自己参照源

2020-12-30 15:45:52 1585 5

原创 NSObject对象占用多少内存

标题为啥是8个字节?为啥是16字节?注意题目:一个NSObject对象占用多少内存?首先回答题目:系统分配了16个字节给 NSObject 对象(通过 malloc_size 函数获得)但NSObject对象内部只使用了8个字节的空间(64bit环境下,可以通过class_getInstanceSize函数获得)。为啥是8个字节?接下来我们通过 clang 将代码转换成 C/C++ 代码 结合 「runtime 的源码」 一探究竟。NSObject *obj = [[NSObj

2020-08-25 16:49:01 427

原创 raywenderlich.com官方Swift代码规范指南

[TODO]本文翻译于The Official raywenderlich.com Swift Style Guide。目前更新到 Swfit4.2。前言:作为一名开发人员,须知好的代码规范,不仅能够提升代码的可读性、提升开发效率同时也会对让团队间的开发沟通效果得到加强。针对Swift语言raywenderlich.com给出来一份较为完善的开发指南。本文就是基于原文翻译而成。英文水平较好这...

2019-09-11 15:26:55 490

原创 记一次组件化的实践过程

起源截至目前组件化在 iOS 也已经有了几年的讨论和应用了,笔者从去年开始公司项目也开始慢慢有意识的往组件化靠拢。因不可能组件化而停止业务的开发所以前期准备是在业务开发的同时有意识的封装和抽取整理一些独立于业务的类等。在接下来的几篇文章会大家分享笔者在组件化过程中的想法和遇到的问题,欢迎大家留言讨论。0x0 前期准备当你想要进行组件化开发的时候,第一步是考虑将公司的项目进行一个大的拆解,了解...

2019-06-27 12:46:44 165

原创 记一次iOS启动时间优化

启动时间启动时间是这里指从用户点击 APP 那一刻开始到用户看到第一个界面这中间的时间。以程序的入口main函数为分界点,我们将启动时间分为 pre-main 时间(t1)和 main 函数到第一个界面渲染完成时间(t2)这两个部分。t1时间:是指main函数执行之前,系统加载可执行文件(.o文件集合),然后加载动态链接库dylb(dyld是一个专门用来加载动态链接库的库),dyld从可执行文...

2019-02-22 17:41:17 637 3

原创 ipa的大小压缩优化

ipa的大小压缩优化一个安装包分为二进制代码文件,资源,配置文件。ipa大小优化主要从资源、二进制文件入手。资源类优化图片JPG图片压缩比是最小的,图片去除未使用的图片,最能减少ipa包的大小。JPG格式的图片可使用ImageOption进行无损压缩,降低图片的大小。PNG的XCode的配置CompressPNGFile为YES。同时也可使用ImageOption进行无损压缩。文件资源...

2019-02-20 13:43:50 519

原创 FYTextFieldRestricter——UITextField限制输入

首先给出:本文DemoGithub地址。开发中经常性的和UITextField打交道,常会碰见对输入的限制,作者总结平时碰到过的场景。由此才有这个Demo诞生。 FYTextFieldRestricter通过对UITextField的扩展,提供了包含了输入长度的限制、字母、汉字、数字。UITextField限制输入实现主要是通过target-action监听 UITextField的UIC...

2018-09-11 17:41:51 145

原创 目前iOS与JS交互的方法选择比对

只是针对目前存在的交互方式做个比对。不会涉及任何实现。如需知道具体的使用。可自行`baidu`或者`Google`。拦截协议拦截协议是最简单的交互方式,在Android端和iOS端直接拦截,可以统一web前端的代码。web前端通过在链接中带上参数。比如: 88gongxiang://loginFunc&name=xxx&pwd=123456。通过拦截url的scheme...

2018-08-12 21:05:46 292

原创 WKWebView 入坑指南

WKWebView 入坑指南因项目JS交互需要,同时因为支持的系统开始从iOS 8 之后,所以就打算使用WKWebView替换掉项目中的UIWebView。本篇文章会在使用中持续更新。坑一:在使用测试环境时,因为有时后台返回url并不规范,url不包含scheme时如果调用[self.webView loadRequest:request],app就会直接闪退,直接提示exc bad a...

2018-08-03 16:55:02 579

原创 runtime面试指北——基本数据结构

引言Objective-C是一门动态语言,在OC中方法的调用在编译期时并不能真正决定调用的是哪个方法。只有在真正运行时才会根据方法的名称找到对应的函数调用。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime library) 来执行编译后的代码。而Objective-C语言的动态特性正是基于runtime。> runtime官方指南 > runtime A...

2018-06-29 19:12:41 1143

原创 iOS面试题库——KVC与KVO

KVC与KVO本文将会详解在面试中的常客——KVO实现的原理,在了解KVO之前我们要对KVC进行一个全面的了解,毕竟连官方文档都提到过: important: In order to understand key-value observing, you must first understand key-value coding.KVCKVC全称:Key-value c...

2018-06-15 10:13:45 2636 1

原创 Mac 环境下Ruby相关解释

2018-05-08 15:51:57 1685

原创 iOS瘦身实践

资源级的瘦身使用LSUnusedResources删除无用图片。注意只是简单的删除。需要自己在此确认。使用WebP代替PNG, 转换及压缩工具isparta。WebP的优点: Webp 压缩率⾼,⽀持有损与⽆损压缩WebP 体积⼤幅减少,⾁眼看不出差异 缺点:Webp更加消耗性能,较PNG消耗2倍左右的CPU和解码时间代码级的瘦身-linkmap首先需要了解linkm...

2018-04-24 17:22:45 927

转载 关于Autolayout的调试

关于Autolayout的调试本文算是截取了Blog部分,主要是记录调试的方法,防止下次碰到同样问题而重新查找。刚开始使用Autolayout遇到下面的警告人容易让人气馁。经常不知所措而放弃了使用Autolayout。Unable to simultaneously satisfy constraints.Probably at least one of the constrai

2018-01-24 18:10:59 453

原创 精度计算——NSDecimalNumber的使用和封装!

title: NSDecimalNumber的介绍和使用! date: 2016-11-07 15:51:56 categories: 笔记 tags:NSDecimalNumber、计算精度NSDecimalNumber的介绍和使用!前言 在iOS的精度计算过程,只要你使用浮点型来进行运算不管如何都无法躲避精度缺失的可能性。而苹果对此也提供了更加精准的精度计算的类:NSDecimalNu

2017-08-24 17:20:03 1586

原创 UICollectionView 设置section的背景色

UICollectionView Section 背景色

2017-07-24 17:10:49 3087

原创 环信ChatDemoHelper中didReceiveMessages无法接收消息!

在集成环信的时候,碰到了模仿使用Demo中ChatDemoHelper管理消息回调时,didReceiveMessages没有被调用的坑!在网上没有找到解决的方法,最后仔细想想是自己把 helper的初始化放[ChatDemoHelper shareHelper];在了环信SDK初始化之前。所以根本没有调到过!把helper的初始化延后!就解决了!!!!真真是坑自己啊~~~如果有相同问

2017-04-27 19:04:08 2240

原创 NSDecimalNumber的介绍和使用!

title: NSDecimalNumber的介绍和使用! date: 2016-11-07 15:51:56 categories: 笔记 tags:NSDecimalNumber、计算精度NSDecimalNumber的介绍和使用!引用 来源NSDecimalNumber是NSNumber的不可变子类。苹果针对浮点型计算时存在精度计算误差的问题而提供的一个计算类,它是基于10进制的定点

2016-11-08 11:34:06 9522

原创 Xcode 8 过滤系统输出

Xcode顶部点击Product—>Scheme—>Edit Scheme—>Arguments—>Environment Variables中添加Name:“OS_ACTIVITY_MODE”.Value:"disable"

2016-09-18 10:23:07 1457

原创 UICollectionView 设置section的背景色

使用tableview时,我们可以随意设置Tableview中没个Section的背景颜色而在UICollectionView中。系统并没有给我们提供一个现成的代理方法或者是属性来设置。为collectionView设置需要自己去自定义。所以在系统的流式布局UICollectionViewFlowLayout的基础上进行自定义。在网上找到了一个swift版本的的。在此基础上进行修改完成了个OC版的D

2016-08-24 13:49:47 11484 1

原创 利用Mac创建一个 IPv6 WIFI 热点

苹果商店6月1日起,强制app需要支持IPv6-only的网络。作为自测自家的app可以用自己的Mac配置一个IPv6的热点Wifi。但因为没仔细看文档导致一直无法调出“创建NAT 64网络”的勾选框。这个给出了如何创建IPv6的步骤。1.首先确保你的Mac是通过网线连接到网络的而不是WiFi2.在设置中

2016-05-20 10:58:59 33768 15

原创 Apple Pay初探

apple pay在2月18号终于在中国上线了,对iOS开发者(尤其是b2b,b2c等平台的开发者)来说有多了一种要集成的支付方式。翻翻Apple的官方文档中只找到了swift版本的demo(由此可以看出apple对于swift的推广是有多么坚定。所以在平时的休息时间学习swift还是很有必要的)。言归正传,今天在这里介绍下。使用OC完成Apple Pay的集成使用。     相对

2016-02-22 09:35:14 1427

原创 iOS 浮点型四舍五入精确值问题

在开发过程中总是会碰到字符串类型转换成浮点型进行运算。但是每当float—>String 或 Sting —> float 转换四舍五入时总会碰上一堆精度失准的问题。即使转成double型也无济于事。先做个总结和分享。提供几种方法思路来解决这个问题:如果涉及到时金额计算时,对数字的精确度要求很高时,最简单也是最粗暴的方法是直接交于后台处理,由后台处理返回字符串。这算是最安全

2016-02-05 14:27:32 10549

原创 UINavigationController

因为对导航栏和工具栏还是有很多的误区。所有就参照官方文档写点知识点当作学习笔记,英语渣,所以可能有很多理解的错误。 先将就吧.....。慢慢写一点点进步吧! UINavigationController 苹果官方给出的导航栏控制器的组成内容。ViewControllers中包含的是已经通过push显示出来的viewController。导航控制器对这些vie

2016-02-03 16:04:32 529

原创 AFNetwork 3.0 源码解读(六)AFURLSessionManager

对AFURLSessionManager的解释 `AFURLSessionManager` creates and manages an `NSURLSession` object based on a specified `NSURLSessionConfiguration` object即AFURLSessionManager是创建和管理一个基于特定的`NSURLSession

2016-01-12 15:55:09 4302

原创 AFNetwork 3.0 源码解读(五)AFSecurityPolicy

First我们需要了解下到底什么是HTTPS请求,和HTTPS的原理是什么。HTTP是一种超文本传输协议,HTTP协议传输的数据都是未加密的,也就是明文的。所以使用HTTP协议传输隐私数据时非常不安全的。于是网景公司在1994年设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS(Hyper Text

2016-01-06 15:20:40 7301

原创 AFNetwork 3.0 源码解读(四)AFURLResponseSerialization

AFURLResponseSerialization相对于AFURLRequestSerialization,一个是网络请求的序列化,一个是网络响应的序列化。AFURLResponseSerialization是将网络请求回来的数据解析,检查数据是否合法,把NSData数据转成相应的对象在AFURLResponseSerialization类中包含了:AFURLResponseSe

2016-01-04 17:25:49 2762

原创 AFNetwork 3.0 源码解读(三)AFURLRequestSerialization

开发中我们是使用的大多数是HTTP(HTTP,HyperText Transfer Protocol)协议,既然是协议就会有一些规范。每次客户端进行http/https请求时我们都要对请求进行设置,而而AFURLRequestSerialization就是帮助我们更快的完善请求的设置。AFURLRequestSerialization顾名思义就是请求的序列化,用于帮助构

2016-01-04 14:42:32 5020

原创 AFNetwork 3.0 源码解读(二)网络情况监听

继续上篇,前面一节介绍了AFNetwork3.0的一些变化。。这篇文章主要是介绍网络情况监听,在AFNetwork框架中用来监听的类是AFNetworkReachabilityManager。所以我们对AFNetworkReachabilityManager进行一个了解。作者对于Reachability的建议是在开发网络请求中,不应该一开始就是用Reachabili

2015-12-28 15:22:53 2037

翻译 AFNetwork 3.0 源码解读  (一) 新版本的变化

最近公司没什么啥事情,想读一读AFNetwork的源码,虽然网上有很多的解读.但终归自己读一遍还是有好处的.So let’s do it。AFNetwork 3.0目前最新的版本是3.0.4.所以本次的对AFNetwork的了解就是基于此.各位开发者在进行3.0迁移时要注意.作者说明了3.0版本最低支持版本是从iOS7 .从3.0的时代开始.AFNetwork已经废弃对NSURLC

2015-12-25 16:17:39 2645

原创 iOS开发 3D-touch使用

3D Touch的触控技术,被苹果称为新一代多点触控技术。3D Touch,苹果iPhone 6s的新功能,看起来类似 PC 上的右键。有Peek Pop 两种新手势。iOS 9提供了如下3D Touch APIs:Home Screen quick action API,使你可以给应用图标添加快速选项,从而让应用预料和加速其与APP的交互。UIKit peek a

2015-12-07 17:02:58 672

转载 iOS开发之键盘类型UIKeyboardType

UIKeyboardTypeDefault:UIKeyboardTypeASCIICapable:UIKeyboardTypeNumbersAndPunctuation:UIKeyboardTypeURL:UIKeyboardTypeNumberPad:

2015-04-27 10:15:17 387

原创 使用corncernStone,Log时间过长解决方法

不知道那次使用corncernStone,手残看文件Log时,点击了DownloadNow的按钮,之后每次看Log时,消耗的时间都好长。所以上网搜了下解决办法,最终在stackoverflow找到了解决方法:1. Quit Cornerstone (退出svn)2. Open Terminal  (打开终端)3. Copy paste the following line into T

2015-04-13 18:40:14 1237

转载 GCD

转发博客。。有时间的可以慢慢研究下!!!!!

2014-11-27 23:01:07 429

原创 iOS开发消息推送机制——远程推送。

远程推送

2014-11-04 11:04:29 728

原创 iOS开发消息推送机制——本地推送。

2014-11-03 18:34:02 504

原创 iOS开发 ——Block使用

在开发中

2014-11-01 17:27:09 399

转载 ARC与MRC的混合开发

iOS5.0以后就开始可以使用ARC(Automatic Reference Counting:自动引用计数)来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的类, 就会出报错。这时候怎么办?在targets的build phases选项下C

2014-10-29 22:26:32 763

图解HTTP 黑白印刷 日 上野宣著 人民邮电出版社 2014.05 250页

对网络基础——HTTP协议进行了全面系统的介绍,相对于'HTTP权威指南',更适合新手入门。书中有大量的插图!

2018-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除