自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 iOS Keywords

Keyword Description atomic atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。 nonatomic 非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高

2016-02-29 10:06:39 751

原创 iOS8新特性之交互式通知

iOS8新特性之交互式通知iOS8以前的远程通知想必大家都非常熟悉了,这里不做过多介绍

2014-10-15 17:20:11 2317

原创 NSUserDefaults写入和读取自定义的对象

需要写入的对象必须实现NSCoding protocolPerson.h#import #import "Face.h"@interface Person : NSObject @property (nonatomic, strong) NSString *personId;@property (nonatomic, strong) NSString *n

2014-06-21 20:53:24 916

原创 Apple Swfit UI控件实现

Swift 实现所有UI,不下载你会后悔的~~下载地址:https://github.com/HunkSmile/Swift.git

2014-06-05 11:18:58 3805 2

原创 CAAnimation Class Reference

Archiving Properties- (BOOL)shouldArchiveValueForKey:(NSString *)key;判断对于一个给定的键值,指定的属性的值是否归档。Providing Default Values for Properties+ (id)defaultValueForKey:(NSString *)key;获取对应指定Key的默认值。

2013-11-29 11:08:13 1197

原创 UIKit Function Reference

CGContextRef UIGraphicsGetCurrentContext(void);UIGraphicsAddPDFContextDestinationAtPointUIGraphicsSetPDFContextDestinationForRectUIGraphicsSetPDFContextURLForRectUIAccessibilityRequestGuidedAccessSession

2013-11-22 10:30:53 6316

原创 UIResponder详解

UIResponder Class ReferenceManaging the Responder Chain1.- (UIResponder *)nextResponder返回接收者的下一个相应,如果没有就返回nilUIResponder类不自动存储和设置下一个响应者,而是默认返回nil。子类必须override这个方法来设置下一个响应者。UIView实现了这个方法,因为可以

2013-07-31 16:38:33 13264 1

原创 NSObject详解

NSObject Class ReferenceInitializing a Class+ (void)initialize一个类的实例在使用前需要先初始化

2013-07-15 19:37:47 14971

原创 UIWebView详解

UIWebView详解- (void)loadRequest:(NSURLRequest *)request异步加载内容,可以从服务器和本地读取

2013-07-10 17:29:20 18273

原创 判断iOS设备的PUSH通知设置状态(打开。。。/关闭)

typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) { UIRemoteNotificationTypeNone = 0, UIRemoteNotificationTypeBadge = 1 << 0, UIRemoteNotificationTypeSound = 1 << 1, UIRe

2013-05-07 15:06:47 9914

原创 iOS 替代UDID解决方案--UUID

#import @interface UUID : NSObject{}@property (nonatomic, readonly, retain) NSString *UUIDString;+ (UUID *)sharedUUID;@end#import "UUID.h"#define UUID_KEY (@"MobileUUID")static UUID

2013-05-07 11:21:20 4547 1

转载 如何使用NSFetchedResultsController

不知不觉我们已经来到了Core Data系列教程的最后一部分了,在这里我们要讨论如何使用NSFetchedResultsController来优化我们的应用,提高应用的运行速度,减少其内存占用。 你是不是已经忘记了以前讲过什么呢?我们来复习一下,在第一篇教程中:《iOS教程:Core Data数据持久性存储基础教程》中我们讲了如何为一个iOS程序创建一个Core Data的数据模型和测

2012-12-05 15:30:49 5734

转载 CATransform3D 矩阵 m11–m44每个的含义

struct CATransform3D{CGFloat m11(x缩放), m12(y切变), m13(), m14();CGFloat m21(x切变), m22(y缩放), m23(), m24();CGFloat m31(), m32(), m33(), m34(透视效果,要操作的这个对象要有旋转的角度,否则没有效果。当然,z方向上得有变化才

2012-11-01 10:48:29 1429

原创 UIImagePickerController

http://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more

2012-10-31 14:25:11 550

转载 ios中如何解析xml文件

ios中如何解析xml文件两种方法:1.ios中已有的NSXMLParse类               2.Google的GDataXML也是基于libxml2的,因此在使用GDataXML之前,你需要先导入libxml2。这里详解ios中的nsxmlparse:NSXMLParser 实现的是sax方法解析xml文件。dom实现的原理是把整个xml文档一

2012-10-31 14:24:13 687

转载 定位与地图

个人觉得地理位置这部分的知识其实是相当有趣的。说到定位其实在大多数的社交软件中都有这样的一个功能,用户可以共享自己的位置并且查看其他用户的位置,从而更容易地结交一些附近或者在同一地区的朋友,又或者在地图上显示自己的当前位置,并且显示附近的餐厅或者咖啡厅。这些功能看起来是挺复杂,但在实际的开发过程中,iOS为我们封装了大部分的功能,让我们不需要学习太底层的知识,通过他提供的两个库就能轻松实现。接下来

2012-10-23 17:51:41 1322

转载 In-App Purchase编程指南

IAP简介在应用中内嵌Store,在iOS应用中使用Store Kit framework来实现In-App Purchase。Store Kit会连接App Store,代替应用安全地完成用户支付。Store Kit提示用户授权支付,然后通知应用“用户已经完成支付”,这样应用就可以提供用户购买的东西。使用iap可以为应用的增强功能,或额外内容进行收费,如以下场景:

2012-10-23 17:49:01 8666 1

原创 开门动画

使用方式:DoorView *doorView = [[DoorView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0) door:[UIImage imageNamed:@"Default.png"]];[doorView setD

2012-09-29 16:55:00 2329

原创 单侧开门动画

UIImageView *coverView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, -20.0, 320.0, 480.0)]; [coverView setImage:[UIImage imageNamed:@"Default.png"]]; [coverView setCenter:CGPoin

2012-09-29 16:51:13 1504

原创 NSString+MD5

NSString+MD5

2012-09-29 16:13:37 2300

原创 NSUserDefaults详解

NSUserDefaults类概述NSUserDefaults类为和默认的系统进行交互提供了一个系统编程接口。默认的系统允许一个应用来定制它的行为以适应用户的喜好。例如,你可以允许用户去决定你的应用程序显示什么样的计量单位或者文件多少时间自动保存。应用程序在用户默认的数据库里分配记录的参数值。这些参数被作为默认值,因为他们通常用于确定一个用用程序在启动时的默认状态或者默认状态的作用方式。

2012-09-11 15:22:01 14077 2

原创 NSArray详解

- (NSUInteger)count;获取NSArray中对象的个数- (id)objectAtIndex:(NSUInteger)index;获取NSArray中index位置的对象- (NSArray *)arrayByAddingObject:(id)anObject;把anObject添加到数组的末尾- (NSArray *)arrayByAdding

2012-08-10 15:10:06 6568

原创 NSArray的排序方法

1.sortedArrayUsingSelector(按Key值大小对NSDictionary排序)NSMutableArray *array = [NSMutableArray arrayWithObjects: [NSDictionary dictionaryWithObjectsAndKeys:@"Obj0", [NSNumb

2012-08-09 19:30:47 18588 1

原创 iOS添加自定义自体 [UIFont fontWithName: size:]

1.添加对应的自体文件(.ttf或.otf等)到工程目录下,比如:SIMKAI.TTF2.在-info.plist文件中添加一项Fonts provided by application,item0对应的value为SIMKAI.TTF,多个自体依次添加即可。3.使用 [UIFont fontWithName: size:]来设置自体,fontWithName的参数不一定是SIMKAI,这

2012-08-08 14:52:52 5387

原创 获取设备mac地址

- (NSString *)macaddress{ int mib[6]; size_t len; char *buf; unsigned char *ptr; struct if_msghdr *ifm; struct sockaddr_dl

2012-08-06 16:48:01 883

转载 EXC_BAD_ACCESS iOS内存错误

由于iOS5.0之前没有自动应用计数机制,也没有Java那样的垃圾回收功能。我们都需要自己管理和控制对象的回收,这是一件很麻烦的事情,也是做iOS项目中最容易出现的问题。如果不掌握这些方法,调试这些问题几乎没有头绪。1、EXC_BAD_ACCESS内存错误与NSZombieEnabledEXC_BAD_ACCESS是最常见的错误了,这个一般是访问了释放了的内存地址空间造成的。比如一

2012-08-06 10:54:46 1214

原创 设计模式

一、策略模式策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。设计原则1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混合在一起。2.针对接口编程,而不是针对实现编程。3.多用组合,少用继承。二、观察者(Observer)模式观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变

2012-07-30 17:41:59 686 1

原创 修改UITabBar的背景图片

1. UIImageView *tabBarBgView = [[UIImageView alloc] initWithFrame:_tabBarController.view.bounds]; [tabBarBgView setImage:[UIImage imageNamed:@"menu_bar.png"]]; [tabBarBgView setContentMod

2012-07-30 15:09:03 1522

原创 Corrupt Icon File - The icon file [email protected] appears to be corrupt.

Dear developer,We have discovered one or more issues with your recent delivery for "通讯小秘". To process your delivery, the following issues must be corrected:Corrupt Icon File - The icon fil

2012-07-17 22:38:38 921

原创 时间戳与时间的相互转换

目前来看时间戳是一个10位数(小数点之前) double类型的,如果是13位数,那么需要除以1000#pragma mark -#pragma mark timeStringFromTimeInterval时间戳-->时间- (NSString *)timeStringFromTimeInterval:(NSTimeInterval)timeInterval{ NSD

2012-07-04 09:06:43 1900

原创 [解决方案]应用程序帮助导航

现在有很多应用程序第一次启动的时候都有一个左右滑动的帮助导航,这些导航往往是介绍应用程序的新功能。新应用在第一次启动时或者新版本升级完第一次启动时就显示。解决方法就是先检测是不是当前版本的第一次启动。1.获取应用版本,对版本号进行判断看看是不是最新版本;NSString* versionString = [[NSBundle mainBundle] objectForInf

2012-06-27 15:47:29 670

原创 iOS打印Debug日志的方式

简单介绍以下几个宏:1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。2) __FILE__ 宏在预编译时会替换成当前的源文件名3) __LINE__宏在预编译时会替换成当前的行号4)

2012-06-19 11:08:43 7515

原创 iOS图标尺寸总结

尺寸大小用途适用设备备注512x512用于AppStore商品大图显示无 144x144应用程序高清图标显示iPad(3代以上) 114x114应用程序高清图标显示iPhone/iPod touch(4代以上) 72x72应用程序图标显示iPad 58x58spotlight

2012-06-12 23:29:33 1407

原创 Objective-C中@property与@synthesize

OC中的关键字,@property与@synthesize配对使用。语法:@property (参数1,参数2) 变量类型 变量名@synthesize 变量名功能:让编译器自动编写一个与数据成员同名的方法声明,这样可以省去声明读写方法。例如:// 在头文件中@property NSInteger number;

2012-06-12 21:59:43 1522

转载 使用Settings Bundle为程序添加设置项

Settings Bundle是在自己的程序中建立的一组文件,利用它可以告诉设备中的Settings程序我们写的程序有哪些设置项。用户在Settings程序中设置好相关相关选项后回到我们自己的程序,自己的程序中的对应项也会发生相应的变化。在iOS程序中,用户默认项,即上面所说的设置项,是用NSUserDefaults类实现的。在NSUserDefaults类中使用关键字来读取和存储设置项的具体

2012-06-11 21:38:32 573

转载 通过归档永久存储数据

想要永久保存数据,我们当然可以使用plist文件,当退出程序时,我们执行将数据写入plist文件的操作,使用writeToFile:atomically:方法。具有这个方法的类有:NSArrayNSMutableArrayNSDictionaryNSMutableDictionaryNSDataNSMutableDataNSStringNSMutableStringNSNu

2012-06-11 21:33:50 701

转载 SandBox的结构

在模拟器中运行iOS程序,都会为该程序创建一个沙盒(SandBox)。首先声明,我用的系统是Max OS X 10.7.3,编译器是Xcode 4.3.2。想要找到沙盒目录,先运行Finder,然后在Finder的菜单栏找到前往—前往文件夹…,在打开的窗口输入/Users/UserName/Library/Application Support/iPhone Simulator/其中,Us

2012-06-11 21:23:40 609

原创 SQLite

SQLite 里最常用的就是 sqlite3* 类型,从数据库打开开始,sqlite就要为这个类型准备好内存,直到数据库关闭,整个过程都要用到这个类型,从数据库打开开始,这个类型的变量就代表了你要操作的数据库。sqlite3 *database;不要忘记在工程中加入库文件libsqlite3.dylib和头文件#import1.打开数据库int sqlite3_op

2012-06-11 14:59:19 1573 1

原创 iOS手势UIGestureRecognizer

UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有6个子类处理具体的手势:1.UITapGestureRecognizer (任意手指任意次数的点击)// 点击次数numberOfTapsRequired// 手指个数numberOfTouchesRequired   UITapGestureRecognizer *tap

2012-06-11 14:39:32 10873 1

空空如也

空空如也

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

TA关注的人

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