摘要:NSProcessInfo *proc=[NSProcessInfo processInfo]; NSArray *args=[proc arguments]; NSFileHandle *inFile, *outFile; NSData *buffer; //打开文件并读取 inFile=[NSFileHandle fileHandleForReadingAtPath:@"out.m"]; if(inFile==nil){ NSLog(@"Open of testfile for reading failded "); } ...
阅读全文
摘要:本学习内容来自书籍和互联网NSPathUtilities.h包含了NSString的函数和分类扩展,它允许你操作路径名。一系列的操作 请看下文源码//// main.m// sample006//// Created by echoliu on 13-1-26.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { ...
阅读全文
摘要:目录仍然使用NSFileManager包括获取当前按目录NSFileManager *fm;fm=[NSFileManager defaultManager];NSString *path;path=[fm currentDirectoryPath];NSLog(@"当前目录路径 %@",path);更改当前目录if([fm changeCurrentDirectoryPath:@"newpath2"]==NO){ NSLog(@"更改目录失败!");}复制目录结构创建一个新目录NSString *newpath=@"new
阅读全文
摘要:当我们需要把经常用到文件内容的时候,可以读取文件到缓存中来,使用NSData可读取保存文件内容如下,非常简单的方法,从文件glossary中读取到filedata中。NSData *filedata;filedata=[fm contentsAtPath:@"glossary"];if(filedata==nil){ NSLog(@"can not read file data");}else{ NSLog(@"恭喜您 读取数据成功!");}个人觉得xcode中的代码风格和编写方式比微软更为简单和自然。
阅读全文
摘要:这个类的方法具有如下功能:创建 一个新文件从现有文件中读取数据将数据写入文件中重新命名文件删除文件测试文件是否存在确定文件的大小及其他属性复制文件测试两个文件的内容是否相同NSFileManager 管理文件和目录removeItemAtPath : error:NSFileManager *fm;fm=[NSFileManager defaultManager];if([fm removeItemAtPath:@"todo" error:NULL]==NO){ NSLog(@"CAN NOT REMOVE TODO");}if([fm removeIt
阅读全文
摘要:对于自定义的Class,需要实现NSCoding协议。还记得复制类额时候 也是要实现类似协议NSCopying,说明再固有框架不变的情况下,我们可以通过protocol(协议)来改变或实现不同的功能效果。NSCoding我理解的就是通过一个公用的方法进行转码,之后统一进行序列化成文件,再通过统一解码进行反序列化。来自互联网的实例一个NOTE类,头文件//// Note.h// sample005//// Created by echoliu on 13-1-26.// Copyright (c) 2013年 echoliu. All rights reserved.//#import ...
阅读全文
摘要:还是上一篇的例子存//// main.m// sample005//// Created by echoliu on 13-1-25.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { NSDictionary *glossary=[NSDictionary dictionaryWithObject...
阅读全文
摘要:对于NSString NSDictionary NSArray NSData NSNumber 使用自身带的writeToFile 等方法即可如下 测试环境 归档//// main.m// sample005//// Created by echoliu on 13-1-25.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { ...
阅读全文
摘要:Objective-C 复制 NSCopying 协议头文件//// samplecopy.h// sample004//// Created by echoliu on 13-1-25.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Foundation.h>//NSCopying 协议@interface samplecopy : NSObject<NSCopying>{ int width; int height;}-(void)print;-(void)setWi
阅读全文
摘要:1、Objective-C 分深浅复制,可变和不可变复制//// main.m// sample004//// Created by echoliu on 13-1-24.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { // insert code here... // 复制 非容器对象 对象本...
阅读全文
摘要:预处理程序类似于简单替换,没有逻辑运算1、预处理程序以#号开头,结尾没有任何符号,不换行,换行使用换行符号2、预处理程序只是替换,没有计算、逻辑等运算3、不能定义同一个常量多次,否则会报错如下,OC中没有TRUE FALSE 可以定义一个#define TRUE 1 //定义遇到TRUE就替换为1#define FALSE 0 //定义遇到FALSE 就替换为0if(MAX==TRUE)//等于 if(MAX==1)下面一个简单的示例(Code Blocks )代码#import <Foundation/Foundation.h>#define P_MAX 99#define P_
阅读全文
摘要:1、objective-c中,实现文件不需要强制执行h中的方法声明,不管是interface还是protocol2、使用@protocol 表示协议3、协议有点类似C#中的泛型,当然不是一回事下面定义个类@interface Shape:NSObject-(void)print;@end实现方法@implementation Shape-(void)print{ NSLog(@"this is shape");}@end定义一个协议@protocol Area-(void)draw;@end使用这个协议//Rectangle.h@interface Rectangle:NS
阅读全文
摘要:1、类的扩展主要针对已经存在的程序,但又不能修改其源码的。2、类的扩展文件命名一般为 classname+扩展名3、类的扩展一般不对rootclass 根类进行扩展,这样会引起连锁反映,其他人可能未必知道你在扩展类4、不能用@synthesize修饰5、一般不采用 在category中编写覆盖方法事例//// Rectangle+Color.h// Sample003//// Created by echoliu on 13-1-18.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Fo.
阅读全文
摘要:编写一个形状的类(Shape),编写一个他的继承类 长方形(Rectangle)1、类(Shape)首先右键工程 [New File],新建一个[Objective-C Class]点击[next]填写类名Shape头文件源码如下://// Shape.h// sample002//// Created by on 13-1-13.// Copyright (c) 2013年 echoliu. All rights reserved.//#import <Foundation/Foundation.h>@interface Shape : NSObject{ int length.
阅读全文
摘要:1、打开xcode(4.2)2、选择 Create a new Xcode project3、选择 os x下的 application4、选择右边的Command Line Tool5、点[Next] 依次填写 ProductName(这里我填写 sample001) ,Type(这里必须选择Foundation)6、点九[Next] 进入编程主界面7、单击main.m这里main.m默认就是一个hello world,如下图//// main.m// sample001//// Created by echoliu on 13-1-10.// Copyright (c) 2013年...
阅读全文