![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS
文章平均质量分 88
xiaoyangxavier
士不可以不弘毅,任重而道远!
展开
-
iOS多线程编程之NSThread的使用
1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD 全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三转载 2015-03-03 22:20:19 · 214 阅读 · 0 评论 -
Self Sizing Cells自适应的列表行
在iOS 8中,苹果引入了UITableView的一项新功能--Self Sizing Cells,对于不少开发者来说这是新SDK中一项非常有用的新功能。在iOS 8之前,如果想在表视图中展示可变高度的动态内容时,你需要手动计算行高,而Self Sizing Cells为展示动态内容提供了一个解决方案。以下是你使用Self Sizing Cells时需要注意的事项:1.为原型单元格定义Au转载 2015-03-04 10:32:14 · 522 阅读 · 0 评论 -
ios调用系统服务
打开相机代码[objc] view plaincopyif ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController *picker = [[UIImagePick转载 2015-03-04 10:53:07 · 614 阅读 · 0 评论 -
ios推送
最近在研究ios的推送问题,遇到了一些问题,最终整理了一下。放在这里和大家分享APNS的推送机制首先我们看一下苹果官方给出的对ios推送机制的解释。如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。上图可以分为三个阶段:第一阶段:应转载 2015-03-04 11:00:22 · 406 阅读 · 0 评论 -
网络连接框架AFNnetworking快速教程,官方入门教程译
AFNetworking官网入门教程简单翻译,学习AFNetworking 是一个能够快速使用的ios和mac os x下的网络框架,它是构建在Foundation URL Loading System之上的,封装了网络的抽象层,可以方便的使用,AFNetworking是一个模块化架构,拥有丰富api的框架。一、HTTP请求与操作:1、AFHTTPRequestOperationM转载 2015-03-04 11:03:07 · 476 阅读 · 0 评论 -
绘图drawrect
通过对ios开发ui篇的学习 总结了drawrect的方法和使用 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法。画线的三个步骤:(1)获取上下文(2)绘图(3)渲染画直线代码:[objc] view plaincopy- (void)drawR转载 2015-03-04 11:37:16 · 423 阅读 · 0 评论 -
UIWebView
1、使用UIWebView加载网页运行XCode 4.3,新建一个Single View Application,命名为WebViewDemo。2、加载WebView在ViewController.h添加WebView成员变量和在ViewController.m添加实现 #import @interface ViewContr转载 2015-03-04 11:49:55 · 344 阅读 · 0 评论 -
监听网络变化Reachability
开发网络应用程序的时候,需要确认网络环境及连接情况等信息。如果没有处理它们,是不会通过Apple的审查的。1. 添加源文件及FrameworkApple 的官方例子 Reachability 中介绍了获取、检测设备当前网络状态的方法。在你的程序中,需要把该工程中的Reachability.h 和 Reachability.m 拷贝到你的工程中,同时需要把 Syste转载 2015-03-04 11:53:08 · 399 阅读 · 0 评论 -
QLite3数据库操作
SQLite3是嵌入在iOS中的关系型数据库,对于存储大规模的数据很有效。SQLite3使得不必将每个对象都加到内存中。基本操作:(1)打开或者创建数据库sqlite3 *database;int result = sqlite3_open("/path/databaseFile", &database);如果/path/databaseFile不存在转载 2015-03-04 11:54:43 · 2075 阅读 · 0 评论 -
正则验证NSRegularExpression
//校验用户名 + (BOOL) validateUserName : (NSString *) str { NSString*patternStr = [NSStringstringWithFormat:@"^.{0,4}$|.{21,}|^[^A-Za-z0-9u4E00-u9FA5]|[^\wu4E00-u9FA5.-]|([_.-])1"]; NS转载 2015-03-04 15:07:55 · 481 阅读 · 0 评论 -
sqlite项目详解
iOS开发数据库篇—SQLite的应用一、简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件。 导入头文件,可以使用库中的函数(是纯C语言的) 二、具体说明新建一个项目,在项目的主界面中放四个按钮(分别是,增加、删除、修改、查询)。1.sqlite3_op转载 2015-03-04 17:54:54 · 843 阅读 · 0 评论 -
ios多线程之GCD(Grand Central Dispatch)
1. GCD: 异步执行任务的技术之一,一般是将应用程序中记述的线程管理用代码在系统级实现,由于是系统级的管理,这样的话将有更好的线程效率。2. 使用方法如下:dispatch_async(queue, ^{ // 想执行的任务});开发者要做的只是定义想执行的任务并追加到适当的Dispatch Queue中。3. 线程(Thread): 1个CPU执转载 2015-03-04 18:21:10 · 370 阅读 · 0 评论 -
APP Store审核
苹果在2014年9月3日对App Store审核指南进行了重大更新,新添加了扩展、HealthKit、HomeKit以及TestFlight相关内容。另外,在9月10日新品发布会之后,苹果再次更新了App Store审核指南,添加Apple Pay相关内容。文中红色部分是相对于此前版本的新增内容,蓝色部分表示苹果相关官方文档的链接。 App Store Review Guide转载 2015-03-04 16:23:24 · 353 阅读 · 0 评论 -
MD5加密
一、简单说明1.说明在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据“青花瓷”软件因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 2.常见的加密算法MD5 \ SHA \ DE转载 2015-03-04 18:12:18 · 333 阅读 · 0 评论 -
关键帧动画
一、简单介绍是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值属性解析:values:就是上述的NSArray对象。里面的元素称为”关键帧”(keyfram转载 2015-03-04 18:43:13 · 426 阅读 · 0 评论 -
NSTimer知识点和倒计时的实现
NSTimer其实是将一个监听加入到系统的RunLoop中去,当系统runloop到如何timer条件的循环时,会调用timer一次,当timer执行完,也就是回调函数执行之后,timer会再一次的将自己加入到runloop中去继续监听。 CFRunLoopTimerRef 和 NSTimer这两个类型是可以互换的, 当我们在传参数的时候,看到CFRunLoopTimerRef可以传NS转载 2015-03-04 15:38:09 · 253 阅读 · 0 评论 -
基础动画CAPropertyAnimation
一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue如果fillMode=kCAFillModeForwards和re转载 2015-03-04 18:45:29 · 306 阅读 · 0 评论 -
转场动画和组动画
一、转场动画简单介绍CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果属性解析:type:动画过渡类型subtype:动画过渡方向startProgress转载 2015-03-04 18:40:49 · 344 阅读 · 0 评论 -
调用网络http
HTTP定义了一种在服务器和客户端之间传递数据的途径。URL定义了一种唯一标示资源在网络中位置的途径。 REQUESTS 和 RESPONSES:客户端先建立一个TCP连接,然后发送一个请求。服务器受到请求处理后发送一个响应向客户端传递数据。然后客户端可以继续发送请求或者关闭这个TCP连接。HTTPS:在TCP连接建立后,发送请求之前,需要建立一转载 2015-03-04 11:46:02 · 382 阅读 · 0 评论 -
IOS类库
xmpp类库:An XMPP Framework in Objective-C for Mac and iOShttps://github.com/robbiehanson/XMPPFramework转载 2015-03-26 11:01:41 · 296 阅读 · 0 评论 -
数据缓存NSURLCache
转自:http://www.cnblogs.com/wendingding/p/3950198.htmlOS开发网络篇—数据缓存一、关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的。 上面的情况会造成以下问题(1)用户流量的浪费(2)程序转载 2015-03-04 17:38:01 · 434 阅读 · 0 评论 -
Text Kit框架——动态字体及cell动态高度
由于Apple近几年在iOS系统的不断改进过程中添加了许多新的特性和功能,这使得iOS系统对文本的渲染能力有了大大的提升。在iOS7中我们就已经能感觉到在文本渲染方面有了很大改进和提升。现在iOS8发布了,在文本渲染方面在延续了之前强大功能的基础上,又提升了其易用性。简单纵观iOS文本渲染的发展史,你也许对目前文本渲染的强大能有更深刻的体会。在iOS6之前,使用web视图渲染文本是当时最为转载 2015-03-27 11:26:37 · 940 阅读 · 0 评论 -
UIImage属性及拉伸方法
1、等比缩放[objc] view plaincopy- (UIImage *) scaleImage:(UIImage *)image toScale:(float)scaleSize { UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, im转载 2015-03-04 10:42:02 · 819 阅读 · 0 评论 -
NSFileManager文件操作
iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。 上面的完转载 2015-03-27 10:09:52 · 362 阅读 · 0 评论 -
SDWebImage网络加载图片缓存
加载网络图片可以说是网络应用中必备的。如果单纯的去下载图片,而不去做多线程、缓存等技术去优化,加载图片时的效果与用户体验就会很差。一、自己实现加载图片的方法tips:*iOS中所有网络访问都是异步的.(自己开线程去下载)*普通为模型增加UIImage属性的方法做的是内存缓存(下次启动还需要从网络重新加载), 而要做本地缓存的话,还要自己手动存储网络上下载的图转载 2015-03-27 10:43:43 · 545 阅读 · 0 评论 -
随机数相关方法
ios 有如下三种随机数方法:1. srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; 2. srandom(time(0)); int i = random() % 5;3. int i = arc4random() % 5 ;转载 2015-03-27 14:10:50 · 309 阅读 · 0 评论 -
NSNotificationCenter
专门供程序中不同类间的消息通信而设置的.注册通知:即要在什么地方接受消息 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mytest:) name:@" mytest" object:nil]; 参数介绍:转载 2015-03-06 19:49:52 · 409 阅读 · 0 评论 -
iOS摄像头和相册-UIImagePickerControlle
在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频。并且从相册中选取我们需要的图片或者视频。关于iOS摄像头和相册的应用,可以使用UIImagePickerController类来完成控制。关于UIImagePickerController的相关知识,如下:iOS的一些设备上都安装了摄像头。现在绝大多数都有了。在编程中,我们是用相应的东西来进行照相,录像等功转载 2015-03-17 15:10:52 · 516 阅读 · 0 评论 -
UISwitch开关控件
1.UISwitch的初始化UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectMake(54.0f, 16.0f, 100.0f, 28.0f)];2.设置UISwitch的初始化状态switchView.on = YES;//设置初始为ON的一边 3.UISwitch事件的响应[switchVie转载 2015-03-10 16:27:13 · 450 阅读 · 0 评论 -
UITextView
//将文本视图附加到一个已有的试图对象上-(void)loadView{ [super loadView]; CGRect viewRect = CGRectMake(0, 100, 320, 200); UITextView *textView = [[UITextView alloc] initWithFrame:viewRect]; //转载 2015-03-12 13:24:39 · 353 阅读 · 0 评论 -
Swift和Objective-C混合编程
假设你现在就是一个iOS程序员,你对Objective-C很熟悉,对iOS开发也很熟悉,然而,苹果公司在iOS 8之后推出了Swift语言。那么,如何才能快速地从Objective-C过渡到Swift呢?本章我们将重点讲解如何从Objective-C过渡到Swift,如何利用现有的Objective-C工程调用Swift代码,以及如何利用Swift工程调用以前写好的Objective-C代转载 2015-03-30 15:29:35 · 576 阅读 · 0 评论 -
XMPP聊天
最近看了关于XMPP的框架,以文本聊天为例,需要发送的消息为:[html] view plaincopymessage type="chat" from="kang@server.com" to="test@server.com"> body>helloWordbody> message> 基中fro转载 2015-03-23 10:15:54 · 382 阅读 · 0 评论 -
NavigationViewController
使用NavigationViewController进行页面跳转时,应该使用pushViewController方法来跳转至下一页面,这样的话,下一页面同样在NavigationViewController容器中。1、跳转到下一页面:?12345AloneSetPrizeViewContro转载 2015-03-23 14:33:24 · 439 阅读 · 0 评论 -
NSDate日期
1 // 当前时间创建NSDate NSDate *myDate = [NSDate date]; NSLog(@"myDate = %@",myDate);2 //从现在开始的24小时 NSTimeInterval secondsPerDay = 24*60*60; NSDate *tomorrow转载 2015-03-24 21:49:37 · 379 阅读 · 0 评论 -
多线程—NSOperation和NSOperationQueue
iOS开发多线程篇—NSOperation简单介绍一、NSOperation简介1.简单说明NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程NSOperation和NSOperationQueue实现多线程的具体步骤:(1)先将需要执行的操作封装到一个NSOperation对象中(2)然转载 2015-03-04 18:18:40 · 400 阅读 · 0 评论 -
UITapGestureRecognizer手势识别(双击、捏、旋转、拖动、划动、长按)
首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下:往viewController.xib文件里拖动一个imageView,并使覆盖整个屏幕,改动属性为:viewController.h文件: [cpp]viewplaincopy 1. #i转载 2015-04-01 09:58:44 · 1159 阅读 · 0 评论 -
CollectionView实现瀑布流
CollectionViewFlowLayout implement the Waterfall EffectEffects InstallationFlickerNumber is available through CocoaPods, to install it simply add the following line to your Podfile:pod原创 2015-04-10 09:23:01 · 953 阅读 · 0 评论 -
UITableView详解
在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。今天的主要内容包括:基本介绍UITableView有两种风格:UITableViewStylePlain和UITa转载 2015-04-10 17:35:48 · 466 阅读 · 0 评论 -
NSNumber
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。如:[cpp] view plaincopy#import NS转载 2015-04-07 10:19:33 · 581 阅读 · 0 评论 -
事件监听处理
一、事件处理简单介绍说明:ios中的事件在用户使用app过程中,会产生各种各样的事件 ,iOS中的事件可以分为3大类型 :1.响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”UIApplication、UIViewController、UIVi转载 2015-04-14 10:02:37 · 566 阅读 · 0 评论