- 博客(37)
- 收藏
- 关注
转载 防止按钮被重复点击
避免一个button被多次点击(共总结了3种)第一种:每次在点击时先取消之前的操作将这段代码放在你按钮点击的方法中,例如:12345-(void)buttonClicked:(id)sender{//点击按钮后先取消之前的操作,再进行需要进行的操作[[selfclass]cancelPreviousPerfor...
2017-11-13 15:46:00
188
转载 iOS block 机制
本文要将block的以下机制,并配合具体代码详细描述:block 与 外部变量block 的存储域:栈块、堆块、全局块定义块与函数类似,只不过是直接定义在另一个函数里,和定义它的那个函数共享同一个范围内的东西。访问外部变量堆块内部,栈是红灯区,堆是绿灯区。根据块的存储位置,可将块分为全局块、栈块、堆块。这里先主要针对堆块讲解。...
2017-11-13 15:44:00
162
转载 IOS 冷门知识
原文地址:http://blog.sina.com.cn/s/blog_801997310101cthq.html 1.刷新单个tableviewcellNSIndexPath * indexPat=[NSIndexPath indexPathForRow:indexPlay inSection:0];NSArray * indexArra...
2017-04-28 15:09:00
661
转载 AFNetworking的Post失败,关于requestSerializer的正确使用
最近接手一个项目,因为之前的项目里面POST请求用的是 ASI 的,我就想着给替换成AFNetworking,但是在替换过程中遇到了一个大坑,解决了半天才发现是一个小问题,下面将我的问题给大家分享一下:错误描述和发现过程Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with a...
2017-04-27 11:32:00
183
转载 深入理解Objective-C:Category
摘要无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Objective-C代码的各个角落,从Apple官方的framework到各个开源框架,从功...
2017-01-07 15:52:00
80
转载 iOS书写高质量代码之耦合的处理
原创2016-12-26MrPeakMrPeak杂货铺耦合是每个程序员都必须面对的话题,也是容易被忽视的存在,怎么处理耦合关系到我们最后的代码质量。今天Peak君和大家聊聊耦合这个基本功话题,一起捋一捋iOS代码中处理耦合的种种方式及差异。简化场景耦合的话题可大可小,但原理都是相通的。为了方便讨论,我们先将场景进行抽象和简化,只讨论两个类之间的耦合。假设我...
2016-12-28 17:26:00
103
转载 iOS 打包 ipa 的四种实用方法(.app转.ipa)
总结一下,目前.app包转为.ipa包的方法有以下几种:1、Apple推荐的方式,即实用xcode的archive功能Xcode菜单栏->Product->Archive->三选一,一般选后两个。局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦。一般多人开发时都是采用provisioning profile+P12文件来进行真机调试。上述...
2016-12-16 17:21:00
508
转载 iOS 修改状态栏preferredStatusBarStyle不执行问题
一、在老版本的iOS中,状态栏永远都是白色风格。而在iOS 7中,我们可以修改每个view controller中状态栏的外观。通过UIStatusBarStyle常量可以指定状态栏的内容是暗色或亮色。默认情况下,状态栏的显示是暗色。也就是说,状态栏上的时间、电池指示器和Wi-Fi信号显示为暗色。如果导航栏中使用暗色为背景,那么看起来的效果如下图所示:如上图这种情况下,我们可能希...
2016-11-11 11:18:00
249
转载 Xcode 快速开发 代码块
Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便。常用的:1.strong:@property (nonatomic,strong) <#Class#> *<#object#>;2.weak:@property (nonatomic,weak) <#Class#> *<...
2016-10-08 18:03:00
73
转载 利用代码添加autolayout约束
1.概述通常我们通过storyboard能够完成的,代码也能够完成,所以这里介绍下代码实现约束的添加,通常我们不这么干(在不使用第三方框架的情况下,使用系统自带的类添加约束特别繁琐),所以这里仅仅简单介绍下代码实现原理2.实现效果实现效果纯OC代码在storyboard中的一条约束在代码中的体现就是一个约束对象,所以添加在storybo...
2016-09-29 16:30:00
122
转载 指针函数和函数指针的区别
在学习C语言、ARM的时候这 “指针函数” 与 “函数指针” 容易搞错。所以今天就来叨叨这两者的区别与难易点!一. 指针函数 指针函数是指 带有指针的函数,即本质是一个函数,函数返回类型是某一类型的指针。 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。 声明格式: 类型标识符...
2016-09-13 16:00:00
71
转载 Git 小技巧
分享git的几个小技巧,后面会根据使用补充。目前包括git撤销本地修改、git回退到前n个版本、git多用户提交冲突解决、git 命令简化。欢迎大家补充^_*1、git撤销本地修改git reset --hard origin/mastergit pull2、git回退到前n个版本如下为向前回退3个版本:git rese...
2016-09-09 09:59:00
124
转载 iOS 获取设备信息总结
1、获取设备的信息[objc]view plaincopyUIDevice*device=[[UIDevicealloc]int];NSString*name=device.name;//获取设备所有者的名称NSString*model=...
2016-08-29 19:27:00
78
转载 imageNamed和imageWithContentsOfFile区别
在 Apple 官方帮助文档提供了两个加载图片的方法imageNamed , 其参数为图片的名字imageWithContentsOfFile , 其参数是图片文件的路径下面主要是说一下他们的区别:imageNamed:用这个方法加载图片分为两种情况:系统缓存有这个图片直接从缓存中取得系统缓存没有这个图片通过...
2016-08-27 17:06:00
153
转载 你真的了解iOS代理设计模式吗?
在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数。这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识。我会通过这些方面的知识,带大家真正领略代理的奥妙。iOS中消息传递方式在iOS中有很多种消息传递方式,这里先简单介绍一下各种消息传递方式。通知:在iOS中由通知中心进行消息接收和消息广播,...
2016-08-27 16:41:00
71
转载 ios如何一个证书多台设备测试
在苹果开发者网站申请的证书,是授权mac设备的开发或者发布的证书,这意味着一个设备对应一个证书,但是99美元账号只允许生成3个发布证书,两个开发证书,这满足不了多mac设备的使用,使用p12文件可以解决这个问题。方法/步骤为什么要导出.p12文件当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开...
2016-08-24 20:20:00
158
转载 由一段字符串中查找URL引出——正则表达式
需求很简单,是从一段文本中匹配出其中的超链接。基本的做法就是用正则表达式去匹配。但是有这样一个问题。网上大部分的识别URL的正则表达式url末尾有空格的情况下可以正确识别。比如这样的情况:"我是一段中文https://github.com/TinyQ 我还是一段中文"但是如果去掉TinyQ 后面的空格。匹配到的将是 “https://github.com/TinyQ我还是一...
2016-08-16 11:16:00
537
转载 iOS 应用数据存储方式(XML属性列表-plist)
iOS 应用数据存储方式(XML属性列表-plist)一、ios应用常用的数据存储方式1.plist(XML属性列表归档)2.偏好设置3.NSKeydeArchiver归档(存储自定义对象)4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储)5.Core Data(对象型的数据库,把内部环节屏蔽)二、应用沙...
2016-07-23 18:57:00
113
转载 通过ios实现RSA加密和解密
在加密和解密中,我们需要了解的知识有什么事openssl;RSA加密算法的基本原理;如何通过openssl生成最后我们需要的der和p12文件。废话不多说,直接写步骤:第一步:openssl来生成公钥和私钥证书,最后需要得到公钥证书和私钥证书。这是在mac OX系统下显示的证书,如果我们用文本编辑器打开它,会发现里面是----BEGIN RSA 开头 并且----END...
2016-07-01 17:36:00
196
转载 25条提高iOS App性能的建议和技巧
这篇文章来自iOS Tutorial Team 成员Marcelo Fabri, 他是Movile的一个iOS开发者. Check out hispersonal websiteorfollow him on Twitter.原文地址 当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户...
2016-06-29 19:58:00
112
转载 iOS开发多线程篇 — GCD的常见用法
一、延迟执行1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法[self performSelector:@selector(run) withObject:nil afterDelay:2.0];// 2秒后再调用self的run方法 (2)使用GCD函数dispatch_after...
2016-06-24 10:25:00
67
转载 解决NSData转NSString返回nil的问题
// 字符串转DataNSString *str =@"jesfds"; NSData *data =[str dataUsingEncoding:NSUTF8StringEncoding];//NSData 转NSStringNSString *result =[[ NSString alloc] initWithData:data encoding:NSUT...
2016-06-15 19:45:00
123
转载 关于 iOS 加密的一些详谈
iOS 加密算法有那么几种,如 md5,sha1,AES,base64 和rsa 等。1. md5: MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一...
2016-06-15 19:44:00
138
转载 ios layer 动画-(transform.rotation篇)
x轴旋转:CABasicAnimation *theAnimation;theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.rotation.x"];theAnimation.duration=8;theAnimation.removedOnCompletion = YES;theAnim...
2016-05-20 15:25:00
274
转载 CABasicAnimation 按home键后台之后,再切回来动画就停止了
解决方法:1. CABasicAnimation *thisAnimation = [CABasicAnimtaion animationWithKeyPath:@"transform.rotation.z"]; thisAnimation.removedOnCompletion = NO;/* When true, the animation is remove...
2016-05-20 15:18:00
618
转载 iOS开发系列--Objective-C 之 KVC、KVO
概述由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性:键值编码KVC键值监听KVO键值编码KVC我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制...
2016-05-19 12:25:00
105
转载 CABasicAnimation animationWithKeyPath 一些规定的值
CABasicAnimation animationWithKeyPath TypesWhen using the ‘CABasicAnimation’ from the QuartzCore Framework in Objective-C, you have to specify an animationWithKeyPath.This is a long string ...
2016-05-19 10:54:00
133
转载 AutoLayout
随着iPhone设备出现了不同的尺寸,iOS6.0以后storyboard和xib文件新增了一个Use Auto Layout选项,用来实现自动布局。当你勾选上这个选项,以前传统的布局方式将不能正常工作。一旦使用了自动布局,就要忘记Frame的概念!要判断UIView是否可以使用自动布局,可以使用如下方法:if ([self.view respondsToSelect...
2016-05-06 18:11:00
49
转载 UIView和CALayer的区别
CALayer属于Core Animation部分的内容,比较重要而不太好理解。以下是园子中看到的一篇文章的摘录:以下摘自<<核心动画编程指南>>:两者最大的区别是,图层不会直接渲染到屏幕上。在模型-视图-控制器(model-view-controller)概念里面NSView和UIView是典型的视图部分,但是在核心动画里面图层是模型部分。图层封装了...
2016-05-04 10:13:00
68
转载 多线程编程3 - GCD
一、简介在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。GCD是Grand Central Dispatch的简称,它是基于C语言的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispat...
2016-04-14 19:38:00
121
转载 多线程编程2 - NSOperation
一、NSOperation1.简介NSOperation实例封装了需要执行的操作和执行操作所需的数据,并且能够以并发或非并发的方式执行这个操作。NSOperation本身是抽象基类,因此必须使用它的子类,使用NSOperation子类的方式有2种:1> Foundation框架提供了两个具体子类直接供我们使用:NSInvocationOperation和NSBloc...
2016-04-14 19:36:00
62
转载 多线程编程1 - NSThread
每个iOS应用程序都有个专门用来更新显示UI界面、处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法iOS支持多个层次的多线程编程,层次越高的抽象程度越高,使用也越方便,也是苹果最推荐使用的方法。...
2016-04-14 19:35:00
80
转载 多线程编程4 - NSOperationQueue
一、简介一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的。也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步执行的。创建一个操作队列:[java]view plaincopyNSOperationQueue*queue=[[NSOperationQu...
2016-04-14 19:28:00
88
转载 iOS 开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法一、延迟执行1.介绍iOS常见的延时执行有2种方式(1)调用NSObject的方法[selfperformSelector:@selector(run)withObject:nilafterDelay:2.0];// 2秒后再调用self的run方法(2)使用GCD函数dispatch_after(dis...
2016-04-14 19:25:00
112
转载 关于 UICollectionViewCell 的一些陷阱
如果直接使用UICollectionViewCell 的自带属性 selected 来自定义一些样式,如:- (void)setSelected:(BOOL)selected { [super setSelected:selected]; [self setNeedsDisplay];},那么当你reloadData 且在cellForItemA...
2016-04-13 11:32:00
456
转载 iOS 控制屏幕旋转
在你想支持横竖屏的viewController里面重写两个方法:1234567891011//支持设备自动旋转-(BOOL)shouldAutorotate{returnYES;}//支持横竖屏显示-(NSUInteger)supportedInterface...
2016-04-12 16:56:00
99
转载 iOS 动态计算文本内容的高度
关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法:1、//获取字符串的大小 ios6- (CGSize)getStringRect_:(NSString*)aString{ CGSizesize; UIFont*nameFont=[UIFontfontWithName:@"Helvetica"size:13...
2016-04-11 12:37:00
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人