iOS开发
wdxgtsh
er
展开
-
仿支付宝支付密码输入框
仿支付宝支付密码输入框前段时间看到小伙伴们在做一个密码输入框,刚好拿来复习下Quartz 2D,不废话,直接上图: 主要思路如下: - UITextField上面覆盖一个UIView - 设置UIView的userInteractionEnabled为NO,让UITextField响应点击事件 - 监控UITextField中输入的文字内容 - 在UIView上用Quartz 2D来绘制图原创 2015-06-02 20:20:53 · 2993 阅读 · 0 评论 -
Too many arguments to function call, expected 0, have 3
Too many arguments to function call, expected 0, have 3我们使用runtime的时候回遇到“Too many arguments to function call, expected 0, have 3”这样的错误提示,这时我们需要做的是,点击工程-> build setting-> 把“ ‘Enable strict checking of o原创 2016-08-16 09:19:29 · 1699 阅读 · 0 评论 -
上传Xcode代码到Github(本文全部基于命令行)
上传Xcode代码到Github(本文全部基于命令行)1.新建Xcode工程(GitUploadTest)2.切换到工程目录$cd .../GitUploadTest3.初始化代码仓库$git init4.添加文件到仓库的缓存区(从工作目录添加到缓存区)。在此之前需要做的是添加gitignore文件,如果不添加的话会在将来的开发使用中造成很多不必要的错误。添加方法也很简单,在Github上下载对应的原创 2016-02-28 01:14:54 · 885 阅读 · 0 评论 -
初识Submodule
初识Submodule通常,大型的工程总会被拆分成一些自工程,这样既有利于开发过程中开发难度的降低,也有利于使用现有的方案或者模块作为自工程。Git的高级功能Submodule就是完成这样一种自工程拆分和整合的工具。当然了,一些小公司或者一个公司就一个项目那就爱咋样咋样了,如果是外包公司或者相对来说规模比较大,App产品比较多(多个App具有相同模块)的公司,Submodule是一个不错的选择。举个原创 2016-03-11 23:21:43 · 1038 阅读 · 0 评论 -
Xcode7.2注释插件失效
Xcode7.2注释插件(@VVDocumenter-Xcode)失效记得Xcode7.1时就出现过这种情况,但当时忘记怎么解决了,这次更新到Xcode7.2时又出错了,在网上找到了答案,所以在此记录下,方便自己,方便他人(嘻嘻,我是多么的伟大呀!)StepOne:打开终端,在终端中输入以下命令://获取到 DVTPlugInCompatibilityUUID$ defaults read /Ap原创 2015-12-23 13:22:05 · 542 阅读 · 0 评论 -
Mac生成SSH Keys
Mac生成SSH Keys使用git管理代码的时候,需要生成一个公匙key,添加到自己的git账户中,才能从git上拉取,提交代码。生成方法:打开终端,输入ssh-keygen 让后系统提示输入文件保存位置等信息,连续按三次回车即可,生成的SSH key文件的保存路径会在终端中给出,终端输出如下:localhost:Desktop zhaolei$ ssh-keygenGenerating原创 2016-01-04 09:54:37 · 9463 阅读 · 0 评论 -
OC的description方法
OC的description方法在APP的开发过程中,经常要打印并查看对象的信息,比较low的方法是编写代码,把对象的全部的属性都输出到日志中。最常用的做法是NSLog一下。 在构建需要打印到日志的字符串时,object对象会收到description消息,该方法所返回的描述信息将取代“格式字符串”里的“%@”等,比如:我们要打印数组时。NSLog(@"arr = %@", arr);控制台会输原创 2015-12-20 01:56:11 · 1802 阅读 · 0 评论 -
懒加载
懒加载在iOS的开发过程中,我们经常需要初始化一些实例变量来存储一些数据或者创建一些View来展示一些数据,通常我们喜欢直接在viewDidLoad或者是其他ViewController的生命周期函数中直接创建。但这并不是最好的办法。因为我们并不是创建出来就要使用它,或许会等一段时间再使用。那就没必要在一开始就创建它,毕竟手持设备的资源相对有限,我们要充分利用起来。懒加载随之而生,示例代码如下:#i原创 2015-12-16 00:30:36 · 330 阅读 · 0 评论 -
OC中为何要调super的方法
打个比方:在ViewController的生命周期中,我们经常看到这样的代码://在VC生命周期的viewDidLoad中第一行调用父类中的方法[super viewDidLoad];//在VC生命周期的viewWillAppear中第一行调用父类中的方法[super viewWillAppear:animated];那么我们为何要这样做呢?如果不这样做会出现什么情况呢?以viewDidLoa原创 2015-12-30 11:17:32 · 729 阅读 · 0 评论 -
iOS 为什么必须在主线程中操作UI
iOS 为什么必须在主线程中操作UI之前面试时面试官问的问题,一直在找答案,今天在微信团队的分享中看到了,Copy过来与大家分享因为UIKit不是线程安全的。试想下面这几种情况:两个线程同时设置同一个背景图片,那么很有可能因为当前图片被释放了两次而导致应用崩溃。 两个线程同时设置同一个UIView的背景颜色,那么很有可能渲染显示的是颜色A,而此时在UIView逻辑树上的背景颜色属性为B。 两原创 2015-11-20 00:59:07 · 3003 阅读 · 1 评论 -
OC中的加密算法
MD5其实MD5不算是加密算法,只是一个哈希函数,没有密匙,不可逆。MD5是128位的。相当于指纹,也就是不同的子复查un加密后所形成的字符串是不会相同的。用于来传输稍微有点敏感,但是别人获取过去也不会对使用者造成人身财产危害的信息。有在线的解密网址可以直接将加密后的md5字串解密出来 [ cmd5 ](还可以解密其他加密类型字串)SHASHA和MD5类似,只不过MD5有不同的算法,有128原创 2015-11-18 17:45:26 · 1795 阅读 · 0 评论 -
runtime
OC的runtime是一个运行时库,他是一个主要使用C语言和汇编语言的库,为C添加了面向对象的能力,并创建了OC。OC是面向运行时的语言,他会尽可能的把编译器和链接要执行的逻辑延迟到运行时,具有很大的灵活性,可以按照需求把消息重定向给合适的对象,设置交换方法的实现。OC中调用一个对象的方法可以看成向一个对象发送消息。这就需要runtime,runtime可以做对象自省查看他们正在做的和不能做的,并且原创 2015-11-13 23:28:55 · 444 阅读 · 0 评论 -
OC中的枚举
OC 枚举 Objective-C原创 2015-11-22 00:59:46 · 1197 阅读 · 0 评论 -
OC中的栈和堆
管理方式:栈是由编译器自动管理的,不需要我们手动释放。堆是系统通过链表管理维护的,由我们自己申请和释放,容易产生momoey leak。申请大小栈是向低地址扩展的数据结构,是一块连续的内存区域,也就是栈顶的地址和栈的最大容量是系统预先规定好的。大小有限,大约2M左右,如果申请的空间超过栈的剩余空间时,就会提示overflow。所以,能从栈获得的空间比较小。堆是由高地址扩展的数据结构,是不连原创 2015-11-13 22:51:05 · 1650 阅读 · 0 评论 -
iOS传输Json数据(纯Json)到服务器
发送Json数据(纯Json)给服务器: 必要条件: (1):使用post请求。 (2):设置请求头为(“application/json”)。 (3):设置请求体。(要传输的Json字串)。//上传json字串- (void)postJson{ NSURL * url = [NSURL URLWithString:@"http://10.66.66.9:8080/ZLServer原创 2015-11-04 20:11:40 · 1113 阅读 · 0 评论 -
获取iOS设备的相关信息
判断iOS设备的型号 运营商 和 蜂窝网络类型原创 2015-09-10 18:03:55 · 512 阅读 · 0 评论