摘要:
https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW1在项目的AppDelegate中的didFinishLaunchingWithOptions方法中加入下面的代码:Ios代码[[UIApplicationsharedApplication]registerForRemote 阅读全文
摘要:
这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部 分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。 其中#else部分也可以没有,即: #ifdef 程序段1 #denif 这里的“程序段”可以是语句组,... 阅读全文
摘要:
类别类别是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类。类别使得无需创建对象类的子类就能完成同样的工作一、创建类别1、声明类别声明类别与声明类的形式很相似@interface NSString(NumberConvenience)-(NSNumber *)lengthAsNumber;@end//NumberConvenience这个声明有两个特点:(1)现有的类位于@interface关键字之后,其后是位于圆括号中的类别名称。 阅读全文
摘要:
将自己的类封成库供别人调用,非常方便,就行xcode中的许多类库一样。那么如何制作自己的类库呢?本人在网上看过很多童鞋的文章,都没有试成功,最后在同事的帮助下搞定。今天有点空闲时间,赶紧记下来,一是跟大家分享,二是怕忘了,今天有同事问我,都感觉有点生了,所以有了这篇文章。下面教大家一步步制作framework1、 新建一个项目选择Framwork&Library中的Cocoa Touch Static Library。如图2、 命名项目名称3、 加载自己要封装的东西4、 加载自己的代码5、 选择设备和模拟器两种方式,编译生成libhello_world.a文件6、 查看是否生成两个文件 阅读全文
摘要:
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; [dic setValue:@"1" forKey:@"a"]; [dic setValue:@"3" forKey:@"c"]; [dic setValue:@"2" forKey:@"b"]; NSLog(@"dic:%@",dic);结果是 abc若换成NSMutableArray,用addObject的方法,结果是插入的顺序。所 阅读全文
摘要:
接上一篇随笔的内容,“==”是比较两个对象内存地址是否相等,“isEqual:”则是比较对象的内容是否相等。所以现在看几个sample: NSArray * array = [NSArray array]; if (array != nil) { NSLog(@"array is not nil!~~"); }//not nil NSArray *array2 = [NSArray array]; if ([array2 isEqual:nil] == NO) { NSLog(@"array2 is not nil!~~");... 阅读全文
摘要:
对于一个对象来说,它是用来判断两个对象的值是不是相等,而==是判断地址是不是相等。比如说 NSString *string1 = [[NSString alloc] initWithString:@"string"];NSString *string2 = [[NSString alloc] initWithString:@"string"];isEqual返回的就是真,而==返回的就是假,因为他们的地址不同。 阅读全文
摘要:
1、plist局限性:只有它支持的数据类型可以被序列化,存储到plist中。无法将其他Cocoa对象存储到plist,更不能将自定义对象存储。支持的数据类型:Array,Dictionary,Boolean,Data,Date,Number和String. xml文件 数据类型截图~其中基本数据(Boolean,Data,Date,Number和String.)、容器 (Array,Dictionary)写入xml过程:先将基本数据写入容器 再调用容器的 writeToFile 方法,写入。[theArray writeToFile:filePath atomically:YES];拥有此方法 阅读全文
摘要:
创建与删除://创建文件管理器NSFileManager *fileManager = [NSFileManager defaultManager];//获取路径//参数NSDocumentDirectory要获取那种路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex:0];//去处需要的路径//更改到待操作的目录下[fileManager cha 阅读全文
摘要:
弄了半天的plist,最无语的莫过于plist还分种类的。有字典型和数组型等。plist的写入是,你把你放在工程中的plist删掉。你要写入plist的时候,如果发现没有该plist,其会帮新建该plist。别傻傻的认为自己建立一个plist,然后运行程序的时候他会在你建的那plist里面多出几行数据,因为你修改的是应用中的plist而非你本地的那个plist。下面的plist里面存放这的是array数组以下是显示plist的代码:NSString*path =[[NSBundlemainBundle]pathForResource:@"Data"ofType:@" 阅读全文