zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Python之爬虫(十四) Scrapy框架的架构和原理
    Python之爬虫从入门到放弃(十三) Scrapy框架整体的了解
    Python之 爬虫(十二)关于深度优先和广度优先
    kali linux
    html5笔记
    python 3.4.3 安装pygame
    跳格子
    简单字符串查找
    KMP算法查找字符串
    ios系统保存校园网密码
  • 原文地址:https://www.cnblogs.com/bluceZ/p/4629661.html
Copyright © 2011-2022 走看看