码迷,mamicode.com
首页 > 其他好文 > 详细

OC知识提升

时间:2015-07-08 12:44:18      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:

1、Foundation框架-常用结构体

NSRange(location length)

 NSPoint\CGPoint

 NSSize\CGSize

 NSRect\CGRect (CGPint CGSize)

2、使用这些CGPointEqualToPoint、CGRectContainsPoint等函数的前提是添 加CoreGraphics框架

常用的一些方法CGRectEqualToRect
     CGSizeEqualToSize
     CGPointEqualToPoint
     CGRectContainsPoint
     NSStringFromPoint……
3、
NSRange r1 = {2, 4}; // 不用

NSRange r2 = {.location = 2, .length = 4};// 不用

NSRange r3 = NSMakeRange(2, 4); // 掌握

查找某个字符串在str中的范围

 

 如果找不到,length=0,location=NSNotFound==-1

4、NSString : 不可变字符串

字符串的创建:
NSString *s1 = @“jack";
NSString *s2 = [[NSString alloc] initWithString:@“jack"];
NSString *s3 = [[NSString alloc] initWithFormat:@“age is %d", 10];
NSString *s4 = [[NSString alloc] initWithUTF8String:”jack"];
const char *cs = [s4 UTF8String];
NSString *s5 = [[NSString alloc] initWithContentsOfFile:@“/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
NSString *s6 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
一般都会有一个类方法跟对象方法配对

     [NSURL URLWithString:<#(NSString *)#>];

     [NSString stringWithFormat:@""];

     [NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>];

字符串导出

[@“Jack\nJack" writeToFile:@"/Users/apple/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];

字符串写入

NSString *str = @"4234234";

NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/my2.txt"];

 [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];

5、NSArray:不可变数组
遍历数组(block):enumerateObjectsUsingBlock
数组里面不能存放nil值,数组里面只能存放OC对象
6、NSSet和NSArray的对比

 1> 共同点

 * 都是集合,都能存放多个OC对象

 * 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)

 * 本身都不可变,都有一个可变的子类

7、集合

 1.NSArray\NSMutableArray

 * 有序

 * 快速创建(不可变):@[obj1, obj2, obj3]

 * 快速访问元素:数组名[i]

 2.NSSet\NSMutableSet

 * 无序

 3.NSDictionary\NSMutableDictionary

 * 无序

 * 快速创建(不可变):@{key1 : value1,  key2 : value2}

 * 快速访问元素:字典名[key]

 2> 不同点

 * NSArray有顺序,NSSet没有顺序

8、NSDate

NSString -> NSDate:
NSString *time = @"2011/09/10 18:56";

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    formatter.dateFormat = @"yyyy/MM/dd HH:mm";

    NSDate *date = [formatter dateFromString:time];

NSDate -> NSString:

NSDate *date = [NSDate date];

    // 日期格式化类

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    // y 年  M 月  d 日

    // m 分 s 秒  H (24)时  h(12)时

    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

    NSString *str = [formatter stringFromDate:date];

9、NSNumber、NSValue
NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue

OC知识提升

标签:

原文地址:http://www.cnblogs.com/bluceZ/p/4629661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!