iOS/Objective-C
诗和阳光
寻找我的诗和阳光
展开
-
AES加密解密
- (NSData *)aes256_encrypt:(NSString *)key //加密 转化为data{ char keyPtr[kCCKeySizeAES256+1]; bzero(keyPtr, sizeof(keyPtr)); [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8String转载 2014-12-29 09:02:10 · 431 阅读 · 0 评论 -
将图片缩放(质量和比例变化)
- (UIImage *)resizeImage:(UIImage *)image withQuality:(CGInterpolationQuality)quality rate:(CGFloat)rate{UIImage *resized =nil;CGFloat width = image.size.wid原创 2015-03-11 10:08:03 · 699 阅读 · 0 评论 -
检测步数和运动状态
- (void)startTracking { if (!([CMStepCounterisStepCountingAvailable] || [CMMotionActivityManagerisActivityAvailable])) { NSString *msg =@"CMStepCounter and转载 2015-03-11 10:19:01 · 2630 阅读 · 0 评论 -
摇一摇
/** 开始摇一摇 */- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event/** 摇一摇结束(需要在这里处理结束后的代码) */- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{原创 2015-03-11 09:55:47 · 626 阅读 · 0 评论 -
NSArray的一些操作
- (id)safeObjectAtIndex:(NSUInteger)index{ if([self count] > 0 && [selfcount] > index) return [selfobjectAtIndex:index]; else return nil;}- (NSArray *转载 2015-03-11 15:10:19 · 302 阅读 · 0 评论 -
NSString 的一些操作
+ (NSString *)searchInString:(NSString *)string charStart:(char)start charEnd:(char)end{ int inizio = 0, stop =0; for(int i =0; i length]; i++) { if([string character转载 2015-03-11 15:13:49 · 476 阅读 · 0 评论 -
文字转语音
self.synthesizer = [[AVSpeechSynthesizeralloc] init];AVSpeechUtterance *utterance = [AVSpeechUtterancespeechUtteranceWithString:self.textField.text]; [self.synthesizerspeakUtteran原创 2015-03-11 09:59:12 · 624 阅读 · 0 评论 -
iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全称:Grand Central Dispatch)这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。三种方式的优缺点介绍:1)NSThread:优点:NSThread 比其他两个轻量级缺转载 2015-03-22 23:04:01 · 568 阅读 · 0 评论 -
iOS应用性能调优的25个建议和技巧
本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的转载 2015-03-22 23:47:32 · 405 阅读 · 0 评论 -
使用CocoaPods管理依赖库
CocoaPods是什么在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetworking、JSONKit等。使用这些第三方类库能极大的方便项目的开发,但是,集成这些依赖库需要我们手动去配置,例如集成ASIHttpRequest库时除了加入源码以外还需要手动去添加一些系统框架,比如CFNetwork、MobileCoreServices等,如果转载 2015-03-22 23:39:42 · 402 阅读 · 0 评论 -
图片添加滤镜
self.items =@[@"Original", @"CIBlendWithAlphaMask", @"CIColorClamp", @"CIColorCrossPolynomial", @"CIColorCubeWi原创 2015-03-11 10:10:44 · 909 阅读 · 0 评论 -
检测密码健壮性
typedefNS_ENUM(NSInteger, PasswordStrengthLevel){ PasswordStrengthLevelVeryWeak =0, PasswordStrengthLevelWeak, PasswordStrengthLevelAverage, PasswordStrengthLevelStrong,转载 2015-03-11 15:19:09 · 962 阅读 · 0 评论 -
截屏功能
- (UIImage *)takeScreenshot{ // Source (Under MIT License):https://github.com/shinydevelopment/SDScreenshotCapture/blob/master/SDScreenshotCapture/SDScreenshotCapture.m#L35转载 2015-03-11 15:07:25 · 462 阅读 · 0 评论 -
MD5
- (NSString *)md5Encrypt { const char *original_str = [self UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(original_str, strlen(original_str), result); NSM转载 2014-12-29 09:08:13 · 372 阅读 · 0 评论 -
base64加密解密
+ (NSString*)encodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 encodeData:data];转载 2014-12-29 09:07:36 · 388 阅读 · 0 评论 -
Operation Queues
Cocoa operations以面向对象的形式封装程序中的工作单元,提供异步执行机制。Operations可以独立运行,也可以与Operation Queue协同运行。OS X和IOS中Cocoa应用程序大多运用了operation机制。Operations可以提高程序的并发处理能力,可以将应用程序中的某些行为或处理逻辑封装进独立的工作单元,减少应用主线程的的压力,提供流畅的用户界面。O转载 2014-12-31 16:52:21 · 586 阅读 · 0 评论 -
最全最新获取各种设备号 (含iphone6,iphone6 plus)
#include #include @implementation DeviceManager+ (NSString*)getDeviceVersion{ size_t size; sysctlbyname("hw.machine",NULL, &size,NULL,0); char *machine = (char*)m原创 2014-12-08 17:56:04 · 1830 阅读 · 0 评论 -
GBK 解码
NSStringEncoding GBKEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);原创 2015-01-05 10:50:14 · 897 阅读 · 0 评论 -
run loop
http://www.cnblogs.com/jy578154186/archive/2013/02/25/2932284.html转载 2015-03-19 14:35:59 · 347 阅读 · 0 评论 -
iOS7新特性
iOS7中容易被忽视的新特性原文:Easily Overlooked New Features in iOS 7iOS7到现在已经发布了有一段时间了。相信你现在已经了解了它那些开创性的视觉设计,已经了解了它的新的API,比如说SpirteKit,UIKit Dynamics以及TextKit,作为开发者,也很可能已经在使用Xcode5进行开发了。然而,它新颖以及备受转载 2015-03-17 17:35:58 · 603 阅读 · 0 评论 -
iOS多点连接的使用(WIFI 蓝牙)
多点连接 API 的使用 SDK及版本信息 MultipeerConnectivity.frameworkiOS 7.0OS X 10.10 可以看到基于MC可以做到电脑与手机的通信。 了解了其能力与SDK相关信息后,下面我们看看工作流程: 使设备可被发现--->浏览设备,建立连接--->传输数据 。 关于使用大家可以看看参考资源与 MCDemo, 这里只是做一个代转载 2015-03-09 16:14:14 · 1039 阅读 · 0 评论 -
文件操作
typedefNS_ENUM(NSInteger, DirectoryType){ DirectoryTypeMainBundle =0, DirectoryTypeLibrary, DirectoryTypeDocuments, DirectoryTypeCache};+ (NSString *)readTe转载 2015-03-11 15:21:59 · 472 阅读 · 0 评论 -
AFNetWorking 网络判断
[self.httpRequestOperationManager.reachabilityManagersetReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { caseAFNetworkReachabilitySt原创 2015-03-23 17:08:08 · 660 阅读 · 0 评论 -
XCode的一些调试技巧
XCode的一些调试技巧分类: iOS2012-08-06 16:01 509人阅读 评论(0) 收藏 举报xcodeexceptionprintingimmutablecrashvariablesXCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。po 命令:为 print object 的缩写,转载 2015-03-24 15:54:03 · 451 阅读 · 0 评论 -
runtime
http://blog.jobbole.com/79566/转载 2015-03-19 14:37:22 · 341 阅读 · 0 评论 -
代码片段
Xcode功能里我真的非常喜欢而且发现非常有用的一个(这一功能也组成了这个教程里我最喜爱的部分),就是有可能几乎不花时间的创建和重用代码段。使用这个功能可以节约大量的时间,因为可以显著避免在并不重要的任务上消耗太多精力。回想一下,举个例子,有多少次你已经写下了最基本的必要的tableview delegate和datasource 方法,感觉自己在浪费不必要的时间来试图记住这些方法的语法和定义。还转载 2015-06-12 09:11:35 · 445 阅读 · 0 评论 -
区分2、3、4G
首先,引入系统的Reachability类,不知道怎么引入的话,在Xcode,按下shift+command+0,搜索Reachability,看到图中所选的工程下载即可。Reachability.png并导入相关.h文件#import引入后,Reachability.h文件里面修改NetworkStatus的枚举,typedef enum : NSInteger {转载 2015-06-12 09:30:55 · 634 阅读 · 0 评论 -
block用法
http://www.cnblogs.com/jy578154186/archive/2012/09/30/2709130.html转载 2015-08-08 13:01:30 · 367 阅读 · 0 评论 -
Cell重用重复的解决方法
转自http://www.2cto.com/kf/201308/238449.htmlUITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextVie转载 2015-07-16 11:41:26 · 648 阅读 · 0 评论 -
message sent to deallocated instance
转自http://www.cnblogs.com/qingjoin/p/3515902.html在XCode的以前版本中,如果遇到了[代码]c#/cpp/oc代码:1message sent to deallocated instance 0x6d564f0我们可以使用info malloc转载 2015-07-17 16:12:23 · 409 阅读 · 0 评论 -
layoutSubviews 和 drawRect
转自http://justsee.iteye.com/blog/1886463UIView的setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用lay转载 2015-07-30 17:32:07 · 394 阅读 · 0 评论 -
退出应用
没有提供用于正常退出IOS应用的API。 在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用; 警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的转载 2015-07-23 14:45:16 · 425 阅读 · 0 评论 -
复杂TableView在iOS上的性能优化
转自http://www.2cto.com/kf/201312/262041.html第二个例子当你在一台老式设备上运行一个含有 TableView 的应用,而每个 Cell 上又由很多的子视图(subView)组成的时候,对 Cell 的绘制代码进行定制化将有助于性能的提升。对于 iPhone4 及其以前的设备,这个性能优化技巧做带来的效果是显著的。转载 2015-07-24 10:28:43 · 653 阅读 · 0 评论 -
sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度转载 2015-09-06 11:53:22 · 605 阅读 · 0 评论 -
有关宏定义的经验与技巧-简化代码-增强Log
转自http://tutuge.me/2015/03/15/有关宏定义的经验与技巧-简化代码-增强Log/有关宏定义的经验与技巧-简化代码-增强Log前言宏定义、#define啥的,我们经常遇到。一般来说,最常用的可能就是定义一些常量、简单的“函数”,如下://定义常量PI#define PI 3.1415926//定义“函数”MIN#def转载 2015-06-26 09:52:56 · 775 阅读 · 0 评论 -
状态栏白色
//状态栏白色- (UIStatusBarStyle)preferredStatusBarStyle{ returnUIStatusBarStyleLightContent;}原创 2015-05-26 19:10:00 · 616 阅读 · 0 评论 -
Code Snippets
转自http://mobile.51cto.com/hot-431722.htm什么是Code Snippets 其实,在项目开发的过程中,我们已经多次享受了Code Snippets 给我们带来的便利,比如下图所示:当我们输入sw的时候,就会自动的出现后面的这么多内容,按一下回车键,这些内容就自动编写好了。这就是Code Snippets ,目转载 2015-04-15 17:29:51 · 697 阅读 · 0 评论 -
预加载
GCD实战一:使用串行队列实现简单的预加载发布者: Seven's - 2012/08/27 - 分类:GCD教程其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:[objc] view plaincopy转载 2015-03-24 10:58:52 · 390 阅读 · 0 评论 -
XCode快捷键
XCode快捷键 1. 文件菜单CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + D: 快速打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭文件2. 代码编辑Esc :显示代码提示菜单Tab :接受代码提示C转载 2015-03-24 16:10:02 · 370 阅读 · 0 评论 -
文件操作
//获得document+(NSString *)documentsPath {NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);return [paths objectAtIndex:0];} //读取工程转载 2015-03-24 16:10:01 · 380 阅读 · 0 评论