随笔分类 -  objective-c

摘要:Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据。对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精通了。很多开发者常常在这方面犯一些错误,而这篇文章列出了开发者在iOS开发过程中使用Core Data常见的一些错误,并对如何避免这些错误进行了分析。1.不了解关键术语对于iOS开发者来说,会使用Core Data是一项必备技能。 没有它,很多app都不会存在。当在互联网上四处搜索Core Data学习教程,你很容易被各种各样的术语吓倒。事实上大部分学习教程都首先假定你已经知道了这些术语,而如果你不 阅读全文
posted @ 2014-03-17 10:16 codeartistry 阅读(147) 评论(0) 推荐(0)
摘要:在这些设计模式中,我发现自己最需要用到的是Singleton模式。在程序中,我需要一系列的对象,他们每一个内部都包含有一组变量和功能,是静态的,而且整个程序都只需要拥有一个该类的对象。例如:1.控制程序执行的命令器2.管理数据库3.音效控制4.文件处理单例是在程序声明周期里 有且仅有 被实例化过一次的类。为确保实例化的唯一,利用类的 类(static)方法来生成和访问对象。至此,你便可以在程序中任何地方访问类的单例对象,因为只实例化唯一的一次,所以,并不用 alloc、init、autorelease初始化方法。Singleton 模式的实现在objective-C中,实现Singleton模 阅读全文
posted @ 2014-02-25 17:08 codeartistry 阅读(185) 评论(0) 推荐(0)
摘要:我们演示一个经典的卖票的例子来讲NSThread的线程同步:[cpp]view plaincopy#import@classViewController;@interfaceAppDelegate:UIResponder{inttickets;intcount;NSThread*ticketsThreadone;NSThread*ticketsThreadtwo;NSCondition*ticketsCondition;NSLock*theLock;}@property(strong,nonatomic)UIWindow*window;@property(strong,nonatomic)Vi 阅读全文
posted @ 2014-02-25 16:50 codeartistry 阅读(194) 评论(0) 推荐(0)
摘要:一般来说这种情况还是蛮多的,比如你从文件中读入了一个array1,然后想把程序中的一个array2中符合array1中内容的元素过滤出来。正 常傻瓜一点就是两个for循环,一个一个进行比较,这样效率不高,而且代码也不好看。其实一个循环或者无需循环就可以搞定了,那就需要用搞 NSPredicate这个类了~膜拜此类~1)例子一,一个循环NSArray *arrayFilter = [NSArray arrayWithObjects:@"pict", @"blackrain", @"ip", nil];NSArray *arrayCont 阅读全文
posted @ 2014-02-25 16:11 codeartistry 阅读(192) 评论(0) 推荐(0)
摘要:一、UIColorUIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化。UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明色等,这些颜色的色彩空间也不尽相同(白色和黑色是kCGColorSpaceDeviceGray,红色的色彩空间是kCGColorSpaceDeviceRGB)。此外UIColor还有两个重要的属性:一个是CGColor,一个是CIColor(5.0之后添加)。这两个属性就可以把UIColor,CGColor,CIColor三个对象联系起来了,后面会详细介绍这三 阅读全文
posted @ 2014-02-25 16:08 codeartistry 阅读(369) 评论(0) 推荐(0)
摘要:NULL ValuesThese macros define null values for classes and instances.NULL可以用在C语言的各种指针上#define __DARWIN_NULL #define __DARWIN_NULLConstantsc 特有的,例子:int *pointerToInt = NULL;char *pointerToChar = NULL;struct TreeNode *rootNode = NULL;nilDefines the id of a null instance.定义一个实例为空。Available in Mac OS X 阅读全文
posted @ 2014-02-25 16:07 codeartistry 阅读(225) 评论(0) 推荐(0)
摘要:#import@interfaceSort : NSObject{}//选择排序-(void)selectSortWithArray:(NSArray *)aData;//插入排序-(void)insertSortWithArray:(NSArray *)aData;//快速排序-(void)quickSortWithArray:(NSArray *)aData;-(void)swapWithData:(NSMutableArray *)aData index1:(NSInteger)index1 index2:(NSInteger)index2;@end#import"Sort.h 阅读全文
posted @ 2014-02-25 16:03 codeartistry
摘要:原文连接介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。一个任务可以是一个函数(function)或者是一个block。GCD的底层依然是用线程实现,不过这样可以让程序员不用关注实现的细节。GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到 阅读全文
posted @ 2014-02-21 10:51 codeartistry