摘要:
三种方式的常量声明:1, define#define kDetailKey @"detail text"#define DOWNLOAD_TIMEOUT 60.0#define degreesToRadian(x) (M_PI * (x) / 180.0)2, enumtypedef enum{kTagLanguageView = 100,kTagSeriesView ,}TagSystemViews;3, staticstatic NSString *BlockColorAlphaComponentKey = @"blockColorAlphaCompon... 阅读全文
摘要:
因为objective-c的集合对象,比如nsarray, nsdictionary, nsset等,都有可能包含nsnull对象,所以,如果以下代码中的item为nsnull,则会引起程序崩溃。NSString *item = [NSArray objectAtIndex:i];if ([item isEqualToString:@"TestNumber"]){//}常见的错误还有release的对象没有设置为nil,从而引起程序崩溃id someObject = [[Object alloc] init];//[someObject release];//if (som 阅读全文
摘要:
本文介绍的Xcode搭建真机调试环境 图文实例,图文并茂,使我们学习起来更方便些,我们先来看内容。AD: 2013云计算架构师峰会超低价抢票中Xcode搭建真机调试环境 是本文要介绍的内容,不多说,我们之间进入主题,在Xcode 3.2.5(我用的版本)中,可以简化步骤。注:最好在Safari上完成下面步骤,因为在其它浏览器上可以不到正常上传文件。步骤一,添加真机设备:打开 https://developer.apple.com/ios/manage/devices/index.action,在Devices中添加真机设备,方法可以参考上面推荐的文档。99美元注册的账号,只能添加100台设备( 阅读全文
摘要:
1,- (void)viewWillAppear:(BOOL)animated 中注册notification [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(actionSheetSelect:) name:@"actionSheetSelect" object:nil];2,在接收notification地方实现方法体-(void)actionSheetSelect:(NSNotification *)notification{ NSString* obj = (NSSt 阅读全文
摘要:
我一直觉得在任何一门语言中,集合都是一个比较重要的概念.我们在处理数据时,大量需要用到集合.前面我们分别介绍了 NSArray,NSDictionary,NSSet以及它们的可变形式,NSMutableArray,NSMutableDictionary ,NSMutableSet等.Foundation中集合相关类的继续关系如下图:NSArray用于对象有序集合(相当于是数组) NSSet用于对象无序集合 NSDictionary用于键值映射 以上三种集合类是不可变的(一旦初始化后,不能再动态的增加或删除元素),如果需要用到可变集合,则需要用到下面几个类: NSMutableArray NSM 阅读全文
摘要:
NSArray:有序的集合,NSSet:无序的集合,散列存储。但是NSSet保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表。NSMutableSet是NSSet的子类,是NSSet的可变形式。NSSet、NSMutableSetNSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造 [NSSet setWithArray:(NSArray *)array];用数组构造 [NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志。 [set count] 阅读全文
摘要:
词典(dictionary)顾名思义就是同由键-值组成的数据集合.与在词典中查找单词定义一样,可以通过对象的键从词典中获取需要的对象,看到 这里,你是不是想起了java中的map?和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典 (NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是 。不可变词典NSDictionary[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用键值对创建词典对象,结尾必需使用nil标志结束。 [dictionary count]: 得 阅读全文
摘要:
Objective-C中除了可以使用C中的基本数组外,如int[5],char word[] ={‘a’,'b’,'c’};Foundation还提供了NSArray类.Foundation是有序的对象集合.NSArray保存的对象可以是 不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。例如下面的代码在运行时会报错:NSArray *arrs = [[NSArray alloc]initWithObjects:@”abc”,@”123″,456,nil];就 像NSString和NSMutableStrin 阅读全文
摘要:
从本系列文章的开始,我们就使用过字符串对象,但是我们却还没有比较详细的介绍过它.使用@符,再一对双引号将一组字符串引用起来,例如:@”In fact, Objective-C is very simple.”;就 是使用Objective-C语言创建了一个字符串对象.Foundation框架使用一个名为NSString的类,用于处理字符串对句.正如我们所看 到的,在Objective-C中创建一个常量字符串对象,需要在字符串开头放置一个@符号.特殊情况下,它属于NSConstantString类的常 量字符串对象.NSConstantString类是NSString类的子类.可变对象与不可变对 阅读全文
摘要:
在Objective-C中,我们可以使用c中的数字数据类型,int、float、long等。它们都是基本数据类型,而不是对象。也就是说,不能够向它们发送消息。然后,有些时候需要将这些值作为对象使用。NSInteger、NSUInteger当你不知道程序运行哪种处理器架构时,你最好使用NSInteger,因为在有可能int在32位系统中只是int类型,而在64位系统,int可能变是long型。除非不得不使用int/long型,否则推荐使用NSInteger。从上面的定义可以看出NSInteger/NSUInteger是一种动态定义的类型,在不同的设备,不同的架构,有可能是int类型,有可能是lo 阅读全文