• OC知识提升


    1、Foundation框架-常用结构体

    NSRange(location length)

     NSPointCGPoint

     NSSizeCGSize

     NSRectCGRect (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 Jack" 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.NSArrayNSMutableArray

     * 有序

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

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

     2.NSSetNSMutableSet

     * 无序

     3.NSDictionaryNSMutableDictionary

     * 无序

     * 快速创建(不可变):@{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
  • 相关阅读:
    团队-科学计算器-成员简介及分工
    提交错误
    《结对-结对编项目作业名称-需求分析》
    对软件工程课程的期望
    自我介绍
    课堂作业0
    selenium+Java刷新浏览器
    不要焦虑~~
    JAVA代码实现得到指定文件夹下的文件名
    安全检测检查清单(IOS版APP)
  • 原文地址:https://www.cnblogs.com/bluceZ/p/4629661.html
Copyright © 2020-2023  润新知