zoukankan      html  css  js  c++  java
  • iOS-Foundation

    1. NSString

      通过字符串常量创建,存储在常量区

      通过alloc initWithFormat/stringWithFormat创建,存储在堆区,而且不同的平台存储的方式不一样。对于相同的两个创建语句,mac系统会自动对字符串对象优化,但iOS平台就是两个不同对象。不同编译器存储方式也不一样,iOS平台xcode6以下,每次alloc都创建 一个新的对象。但xcode6以上alloc多次指向同一块存储空间。

    而initwithString是通过浅copy返回一个字符串对象给我们,所以无论什么平台,什么编译器都是指向同一块存储空间

    hasSuffix:  //结尾
    hasPrefix:    //开头
    rangeOfString: //包含
    substringFromIndex:
    substringToIndex:
    stringByReplacingOccurrencesOfString:

    2. NSURL

      常见的URL协议头:http:// ftp:// file://

     

    NSArray数组中的nil是结束符

    不同类型的OC对象可以存储在一个NSArray数组中。

    数组遍历:

    for(int i = 0; i < arr.count; i++)

    for(NSObject *obj in arr)

    [arr enumerateObjectsUsingBlock:] -> *stop = YES用于停止遍历 ,推荐此方式

    makeObjectsPerformSelector:@selector(methodName)

    不能通过@[]创建可变数组

    字典中保存的数据是无序的

    不可变数组中如果有相同key, 则后面的key值不会保存

    可变数组中的相同key, 后面的会覆盖掉前面的key值

    推荐用CG开头的结构体,不用NS开头的

    @(age) 将基本数据类型age转成NSNumber类型, @10把常量转成NSNumber类型

    NSValue可以包装任意类型,包括结构体。

    NSFileManager

    copy : 不可变副本 , 遵循NSCoping协议,重写copyWithZone

    mutableCopy : 可变副本, 遵循NSMutableCoping协议,重写mutableCopyWithZone

    浅复制:源对象和副本对象都不可变,则copy后是浅复制,其他都是深复制

    copy:

    1. 字符串
    2. block, 可以保住block中使用的外界对象的命
  • 相关阅读:
    DNS-PreFetch 技术及其他前端优化加载技术
    Windows10 睡死
    Dns Over Https(DoH) --- Windows10 预览版 19645
    原生JavaScript(JS)修改添加CSS样式表 (更好的性能)
    技术的本质
    工程设计
    文件分配表 FAT -WIKI
    博客皮肤修复: 行号和搜索引擎快照(基于 Cnblogs-Theme-SimpleMemory v1.3.3)
    java-知识点学习和补充
    红黑树01--[红黑树简介&添加修复]
  • 原文地址:https://www.cnblogs.com/yintingting/p/12686019.html
Copyright © 2011-2022 走看看