OC常用方法

【按摩(推拿)】

  • 创建集合

NSString

替换方法的作用一般是在原方法的基础上加上我们想要加的功能,就是改变其IMP,所以我们调用的时候还是调用原方法,不需要去修改

古称“按蹻”。是医生用自己的手或上肢协助病人进行被动的运动的一种医疗方法。具有调和气血,疏通经络,促进新陈代谢,提高抗病能力,改善局部血液循环和营养状态等作用。常用的手法有:按、摩、推、拿、揉、搯、搓、摇、滚、抖等方法。应用于关节炎、神经痛、软组织损伤和其它多种疾病。

string:方法 // 创建字符串

一. 在分类中重写之前的方法(即覆盖了原方法)

在分类中重写之前的方法:
People.h

@interface People : NSObject
- (void)say ;
@end

People Swizzling.m

#import "People  Swizzling.h"

@implementation People (Swizzling)
- (void)say {
    NSLog(@"People  Swizzling.h  --- say");
}
@end

但是这样做的缺点有2点:
1.在分类中重写方法会覆盖掉原方法的功能(即调用不了原方法),
2,如果多个分类都重写了一个方法,运行时机制无法确定会一直调用哪个方法;

    /**
     *  @param mixed $value
     *  @return IlluminateSupportCollection
     *  辅助函数 collect 创建 Collection 对象
     */
     Collection function collect($value = null);
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    /**
     *  @param mixed $value
     *  @return IlluminateSupportCollection
     *  采用 new 关键字创建Collection集合对象
     */
    new IlluminateSupportCollection($value);
stringWithstring:方法 // 用字符串来创建字符串

二. 使用运行时的交换方法(method swizzling)

写一个不同名的方法, 使用运行时将该方法与原方法交换, (子类的方法列表并不包含父类中的方法)

  • 分2种情况:
  • 原方法为父类方法,子类没有
  • 方法和替换方法都实现于子类
Method m1 = class_getInstanceMethod(self, @selector(eat));
   Method m2 = class_getInstanceMethod(self, @selector(son_eat));

   BOOL add = class_addMethod(self, @selector(eat), method_getImplementation(m2), method_getTypeEncoding(m2));

1.第一种情况:子类没有实现替换方法时,需要检测(将原方法名SEL和替换方法的实现IMP,加入方法到本类中), 如果能加入,这时原方法的方法实现指针指向了替换方法, 再将替换方法SEL的IMP指向原方法的IMP就完成了方法交换;

if (add) {
        class_replaceMethod(self, @selector(son_eat), method_getImplementation(m1), method_getTypeEncoding(m1));
    }

2.第二种情况:俩个方法都在子类中已经实现,就直接交换方法即可

else {
       method_exchangeImplementations(m1, m2);

   }

- (void)eat {
    NSLog(@"%s", __FUNCTION__);
}

- (void)son_eat {

    [self son_eat];

    NSLog(@"%s", __FUNCTION__);
}

确保该代码只会调用一次,避免多次调用替换混乱
一般是在 (void)load 方法中

图片 1

方法交换

  • all 方法
stringWithCstring:方法 // 创建C字符串

三.C指针

  • (方法替换的本质:将原方法的方法实现指向一个新的方法,新方法里面需要调用原方法的实现,即新方法是私有的;)
void (*gOrigDrawRect)(id, SEL, NSRect);
  (void)load
{
        Method origMethod = class_getInstanceMethod(self, @selector(drawRect:));
        gOrigDrawRect = (void *)method_getImplementation(origMethod);
 if(!class_addMethod(self, @selector(drawRect:), (IMP)OverrideDrawRect, method_getTypeEncoding(origMethod)))
            method_setImplementation(origMethod, (IMP)OverrideDrawRect);
}

static void OverrideDrawRect(NSView *self, SEL _cmd, NSRect r)
{
        gOrigDrawRect(self, _cmd, r);
        [[NSColor blueColor] set];
        NSRectFill(r);
}
stringWithFormat:方法 // 创建NSLog()格式的字符串
参考
  • Method Replacement for Fun and Profit
    /**
     * @return array
     * 得到当前Collection的值 $this->items
     */
     public function all();
stringWithContentsOfFile:方法 // 将创建的字符串设置为指定文件的内容
  • map 方法
stringWithContentsOfURL:方法 // 将创建字符串设置为url的内容
stringWithUTF8String:方法 // 将创建的字符串转换为UTF8字符串
# 参看 array_map() 函数
$collection = collect(array('hello'=>"miss",'php'=>"mr",'or','golang'));
# 遍历集合数组元素(返回插入集合数值)
$coll = $collection->map(function ($value,$key){
    # $value 值 $key 键
    return "a12";
});
dump($coll); //> collect(array('hello'=>"a12",'php'=>"a12","a12","a12"))
init:方法 // 初始化字符串
  • reject 方法
initWithString:方法 // 用字符串来初始化字符串
initWithCString:方法 // 初始化字符串
# 过滤集合中元素参看 array_filter() 方法
$collection = collect(array('hello'=>"miss",'php'=>"mr",'or','golang'));
# 遍历集合数组元素(返回插入集合数值)
$coll = $collection->reject(function ($value,$key){
      # $value 值 $key 键
      # 返回值 bool:true 过滤该值
    if( $key === 'php' ){
        return true;
    }
    return false;
});
dump($coll); //> collect(array('hello'=>"miss,'or','golang'))
initWithFormat:方法 // 用NSLog()格式初始化字符串
  • avg 方法
initWithContentsOfFile:方法 // 将初始化的字符串设置为指定文件的内容
initWithContentsOfURL:方法 // 将初始化的字符串设置为url的内容
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->avg(); //> 不推荐
dump($collection); //> 1.25 = (2 3)/4
$collection = collect(array(1,3,5,7,9))->avg();
dump($collection); //> 5 = (1 3 5 7 9)/5
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->avg('php');
dump($collection); //> 22 = (12 32)/2
initWithUTF8String:方法 // 将初始化的字符串转换为UTF8字符串
  • max 方法
isEqualTostring:方法 // 比较字符串是否相等
hasPrefix:方法 // 判断字符串是否以某个字符开始
# max 推荐纯数值集合
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->max();  //> 不推荐
dump($collection); //> 3
$collection = collect(array(1,3,5,7,9))->max();
dump($collection); //> 9
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->max('php');
dump($collection); //> 32
hasSuffix:方法 // 判断字符串是否以某个字符结束
  • min 方法
compare:方法 // 比较字符串的大小
caseInsensitiveCompare:方法 // 不考虑大小写的比较大小
# min 推荐纯数值集合
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->min(); //> 不推荐
dump($collection); //> miss
$collection = collect(array(1,3,5,7,9))->min();
dump($collection); //> 1
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->min('php');
dump($collection); //> 12
uppercaseString:方法 // 小写字母转为大写字母
  • sum 方法
lowercaseString:方法 // 大写字母转为小写字母
capitalizedString:方法 // 将每个单词的首字母大写
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->sum();
dump($collection); //> 5
$collection = collect(array(1,3,5,7,9))->sum();
dump($collection); //> 25
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->sum('php');
dump($collection); //> 44
substringToIndex:方法 // 从字符串的开头一直截取到指定的位置
  • tap 方法
substringFromIndex:方法 // 从指定位置开始截取字符串直到结束
substringWithRange:方法 // 根据指定范围返回子字符串
    /**
     * Pass the collection to the given callback and then return it.
     *
     * @param  callable  $callback
     * @return $this
     */
    public function tap(callable $callback)
    {
        $callback(new static($this->items));

        return $this;
    }
    $collection = collect(array('hello'=>"miss",'php'=>2,'or',3));
    $collection->tap(function($coll){
        dump($coll); //> collect(array('hello'=>"miss",'php'=>2,'or',3))
    });
characterAtIndex:方法 // 返回索引号所在字符串中的字符
  • toArray 方法
doubleValue:/floatValue:方法 // 返回转换为浮点类型的值
intValue:方法 // 返回转换为整型的值
    /**
     * Get the collection of items as a plain array.
     *
     * @return array
     */
    public function toArray()
    {
        return array_map(function ($value) {
            return $value instanceof Arrayable ? $value->toArray() : $value;
        }, $this->items);
    }
boolValue:方法 // 返回转换为布尔类型的值
  • toJson 方法
stringByAppendingPathExtension:方法 // 为文件添加扩展名
pathExtension:方法 // 获取文件扩展名
    /**
     * Get the collection of items as JSON.
     *
     * @param  int  $options
     * @return string
     */
    public function toJson($options = 0)
    {
        return json_encode($this->jsonSerialize(), $options);
    }
    /**
     * Convert the object into something JSON serializable.
     *
     * @return array
     */
    public function jsonSerialize()
    {
        return array_map(function ($value) {
            if ($value instanceof JsonSerializable) {
                return $value->jsonSerialize();
            } elseif ($value instanceof Jsonable) {
                return json_decode($value->toJson(), true);
            } elseif ($value instanceof Arrayable) {
                return $value->toArray();
            } else {
                return $value;
            }
        }, $this->items);
    }
stringByDeletingPathExtension:方法 // 删除扩展名
  • zip 方法
writeToFile:方法 // 将字符串写入到文件
writeToURL:方法 // 将字符串写入到url中
    /**
     * Zip the collection together with one or more arrays.
     *
     * e.g. new Collection([1, 2, 3])->zip([4, 5, 6]);
     *      => [[1, 4], [2, 5], [3, 6]]
     *
     * @param  mixed ...$items
     * @return static
     */
    public function zip($items)
    {
        $arrayableItems = array_map(function ($items) {
            return $this->getArrayableItems($items);
        }, func_get_args());

        $params = array_merge([function () {
            return new static(func_get_args());
        }, $this->items], $arrayableItems);

        return new static(call_user_func_array('array_map', $params));
    }
stringByExpandingTildeInPath:方法 // 将“~”替换成系统的主目录
  • median 方法
stringByAbbreviatingWithTildeInPath:方法 // 将系统主目录替换为“~”
lastPathComponent:方法 // 获取路径中的文件名
# 获取给定集合的中间值(排序后的中间值)
# 集合是奇数 获取中间数值
# 集合是偶数 获取中间两个数的平均值
$collection = collect(array('hello'=>34,'php'=>2,'we'=>32,'ed'=>54,'wd'=>3,43));
dump($collection->median());  //> 33 = (34 32)/2
$collection = collect(array('hello'=>34,'php'=>2,'we'=>32,'ed'=>54,'wd'=>3));
dump($collection->median()); //> 32
$collection = collect(array(array(12,11,'php'=>43),array(12,1,'php'=>23),array('php'=>12,3)));
dump($collection->median('php')); //> 23
stringByDeletingLastPathComponent:方法 // 获取路径中文件所在的位置
  • mode 方法
stringByAppendingPathComponent:方法 // 组合位置和文件名
isAbsolutePath:方法 // 判断绝对路径
# 返回出现次数最多的数
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array('php'=>12,3)));
dump($collection->mode('php')); //> [13]
$collection = collect(array('hello'=>34,'php'=>2,'we'=>34,'ed'=>34,'wd'=>3,2,2));
dump($collection->mode());  //> [34,2]
$collection = collect(array(12,3,234,21,32,123,1,1,2,2));
dump($collection->mode());  //> [1,2]
length:方法 // 求字符串的长度
  • each 方法
stringByAppendingString:方法 // 字符串后面增加一个新字符串
rangeOfString:方法 // 查找字符串中是否包含其他字符串
    /**
     * Execute a callback over each item.
     *
     * @param  callable  $callback
     * @return $this
     */
    public function each(callable $callback)
    {
        foreach ($this->items as $key => $item) {
            if ($callback($item, $key) === false) {
                break;
            }
        }

        return $this;
    }
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array('php'=>12,3)));
$collection->each(function ($value,$key){
    # $value 值 $key 键
    dump($value);
    dump($key);
});
stringByTrimmingCharactersInSet:方法 // 去除空格或回车
  • every 方法
stringWithCapacity:方法 // 按照固定长度生成空字符串
initWithCapacity:方法 // 初始化一个固定长度的字符串
# 检查集合中每一个元素是否符合条件
# 源码参考
    /**
     * Determine if all items in the collection pass the given test.
     *
     * @param  string|callable  $key
     * @param  mixed  $operator
     * @param  mixed  $value
     * @return bool
     */
    public function every($key, $operator = null, $value = null)
    {
        if (func_num_args() == 1) {
            $callback = $this->valueRetriever($key);

            foreach ($this->items as $k => $v) {
                if (! $callback($v, $k)) {
                    return false;
                }
            }

            return true;
        }

        if (func_num_args() == 2) {
            $value = $operator;

            $operator = '=';
        }

        return $this->every($this->operatorForWhere($key, $operator, $value));
    }
# 使用示例
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array('php'=>12,3)));
$result = $collection->every(function($v,$k){
    # $v 值 $k 键
    # 条件判断 
    # return false; 比较失败终止比较返回false
    # return true; 本次比较通过,进行下次比较
    return true;
});
dump($result);    //> true
dump($collection->every('php','>',12)); //> false
# php键 是否存在集合里(集合里的每一个数组中)
dump($collection->every('php')); //> true 
dump(collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array(3)))->every('php')); //> false
# 支持比较符 null(=) = == != <> > < >= <= === !==
# 更多用法 - 参看源码
appendString:方法 // 在字符串的末尾附加另一个字符串
  • when 方法
appendFormat:方法 // 附加一个格式化字符串
SetString:方法 // 将字符串设置为规定的内容
# 源码 - when 方法使用很简单这里不详细举例了
    /**
     * Apply the callback if the value is truthy.
     *
     * @param  bool  $value            # 判断条件
     * @param  callable  $callback
     * @param  callable  $default
     * @return mixed
     */
    public function when($value, callable $callback, callable $default = null)
    {
        if ($value) {
            return $callback($this);
        } elseif ($default) {
            return $default($this);
        }

        return $this;
    }
insertString:方法 // 在指定位置插入字符串
  • unless 方法
deleteCharactersInRange:方法 // 删除指定范围的字符串
replaceCharactersInRange:方法 // 使用字符串代替指定范围的字符串
# 源码 - 参考when方法
    /**
     * Apply the callback if the value is falsy.
     *
     * @param  bool  $value            # 判断条件
     * @param  callable  $callback
     * @param  callable  $default
     * @return mixed
     */
    public function unless($value, callable $callback, callable $default = null)
    {
        return $this->when(! $value, $callback, $default);
    }
replaceOccurrencesOfString:方法 // 替换 将字符串中的某个字全部替换成别一个字
  • where 方法
stringByReplacingOccurrencesOfString:方法 // 将字符串中的某个字全部替换成别一个字

NSArray

# 过滤掉其他数据 刷选
    /**
     * Filter items by the given key value pair.
     *
     * @param  string  $key
     * @param  mixed  $operator
     * @param  mixed  $value
     * @return static
     */
    public function where($key, $operator, $value = null)
    {
        if (func_num_args() == 2) {
            $value = $operator;

            $operator = '=';
        }

        return $this->filter($this->operatorForWhere($key, $operator, $value));
    }
# 使用示例
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array(3)));
dump($collection->where('php','=',13)); //> collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13)))
# 支持比较符 null(=) = == != <> > < >= <= === !==
// 创建及初始化
  • whereStrict 方法
array:方法 // 创建数组
arrayWithArray:方法 // 通过一个数组创建另一个数组
# 参考where方法 严格等于 筛选
    /**
     * Filter items by the given key value pair using strict comparison.
     *
     * @param  string  $key
     * @param  mixed  $value
     * @return static
     */
    public function whereStrict($key, $value)
    {
        return $this->where($key, '===', $value);
    }
arrayWithContentsOfFile:方法 // 创建数组将内容设置为指定文件内容
  • whereIn 方法
arrayWithContentsOfURL:方法 // 创建数组将内容设置为url指定内容
arrayWithObject:方法 // 创建具有一个元素的数组
# 源码 - 给定集合键(过滤集合)是否在另一个数组或集合里存在
    /**
     * Filter items by the given key value pair.
     *
     * @param  string  $key       # 给定集合里的键
     * @param  mixed  $values # 另一个集合或数组
     * @param  bool  $strict       # 是否开启严格比较
     * @return static
     */
    public function whereIn($key, $values, $strict = false)
    {
        $values = $this->getArrayableItems($values);

        return $this->filter(function ($item) use ($key, $values, $strict) {
            return in_array(data_get($item, $key), $values, $strict);
        });
    }
arrayWithObjects:方法 // 创建具有多个元素的数组
  • whereInStrict 方法
init:方法 // 初始化数组
initWithArray:方法 // 用数组初始化数组
# 严格过滤 - 参看whereIn方法
    /**
     * Filter items by the given key value pair using strict comparison.
     *
     * @param  string  $key
     * @param  mixed  $values
     * @return static
     */
    public function whereInStrict($key, $values)
    {
        return $this->whereIn($key, $values, true);
    }
initWithContentsOfFile:方法 // 初始化数组将内容设置为指定文件内容
  • whereNotIn 方法
initWithContentsOfURL:方法 // 初始化数组将内容设置为url指定内容
initWithObjects:方法 // 初始化具有多个元素的数组
# 该方法正好和whereIn用法相反
    /**
     * Filter items by the given key value pair.
     *
     * @param  string  $key
     * @param  mixed  $values
     * @param  bool  $strict
     * @return static
     */
    public function whereNotIn($key, $values, $strict = false)
    {
        $values = $this->getArrayableItems($values);

        return $this->reject(function ($item) use ($key, $values, $strict) {
            return in_array(data_get($item, $key), $values, $strict);
        });
    }
// 数组元素的操作
  • whereNotInStrict 方法
containsObject:方法 // 判断数组中是否包含某个元素
count:方法 // 计算元素个数
# 该方法和whereInStrict用法相反
    /**
     * Filter items by the given key value pair using strict comparison.
     *
     * @param  string  $key
     * @param  mixed  $values
     * @return static
     */
    public function whereNotInStrict($key, $values)
    {
        return $this->whereNotIn($key, $values, true);
    }
firstObjectCommonWithArray:方法 // 获取首元素
lastObject:方法 // 获取最后一个元素
objectAtIndex:方法 // 获取在某个位置的数组元素
objectAtIndexs:方法 // 获取数组元素
arrayByAddingObject:方法 // 在数组末尾添加元素
arrayByAddingObjectsFromArray:方法 // 在数组的末尾添加另一个数组
subarrayWithRange:方法 // 数组的一部分创建数组
isEqualToArray:方法 // 比较数组是否相等
indexOfObject:方法 // 返回元素所在的位置
indexOfObjectIdenticalTo:方法 // 返回元素所在的位置
componentsJoinedByString:方法 // 数组转换为字符串
componentsSeparatedByString:方法 // 字符串转换为数组
sortedArrayHint:方法 // 数组转换为数据对象
writeToFile:方法 // 将数组中的内容写入到文件
writeToUrl:方法 // 将数组中的内容写入到url
objectEnumerator:方法 // 数组元素从前向后访问
reverseObjectEnumerator:方法 // 数组元素从后向前访问
pathsMatchingExtensions:方法 // 查看某文件夹下的东西
sortedArrayUsingFunction:方法 // 实现数组元素的简单排序
// 可变数组
arrayWithCapacity:方法 // 创建一个具有固定长度的可变数组
initWithCapacity:方法 // 初始化一个具有固定长度的可变数组
addObject:方法 // 添加数组元素
addObjectsFromArray:方法 // 用数组创建可变数组
removeObject:方法 // 删除指定的元素
removeAllObjects:方法 // 删除可变数组中的所有元素
removeLastObject:方法 // 删除可变数组中的最后一个元素
removeObjectAtIndex:方法 // 删除指定位置的元素
removeObjectsAtIndex:方法 // 删除可变数组中的元素
removeObjectsInRange:方法 // 删除某个范围内的可变数组中的元素
removeObjectsInArray:方法 // 删除与另一个数组相同的元素
replaceObjectAtIndex:方法 // 替换可变数组中某一位置的元素
replaceObjectsAtIndexes:方法 // 替换可变数组中的多个元素
replaceObjectsInRange:方法 // 替换某一范围的数组元素
insertObject:方法 // 在某一位置插入数组元素
insertObjects:方法 // 在某一位置或范围插入另一数组元素
exchangeObjectAtIndex:方法 // 交换两个元素
setArray:方法 // 设置可变数组中内容

NSDictionary

// 创建及初始化
dictionary:方法 // 创建字典
dictionaryWithContentsOfFile:方法 // 将创建的字典内容设置为指定文件内容
dictionaryWithContentsOfURL:方法 // 将创建的字典内容设置为指定url内容
dictionaryWithDictionary:方法 // 用字典创建字典
dictionaryWithObject:方法 // 创建具有一个键-值的字典
dictionaryWithObjects:方法 // 创建具有多个键-值的字典
dictionaryWithObjectsAndKeys:方法 // 创建具有多个键-值的字典
init:方法:初始化字典
initWithContentsOfFile:方法 // 将初始化的字典内容设置为指定文件内容
initWithContentsOfURL:方法 // 将初始化的字典内容设置为指定url内容
initWithDictionary:方法 // 用字典初始化字典
initWithObjects:方法 // 初始化具有多个键-值的字典
initWithObjectsAndKeys:方法 // 初始化具有多个键-值的字典
// 访问键-值
objectForKey:方法 // 返回键的值
allKeys:方法 // 返回所有的键
allValue:方法 // 返回所有的值
allKeysForObject:方法 // 返回值所对应的键
keyEnumerator:方法 // 将字典中所有的键放到NSEnumerator对象中
objectEnumerator:方法 // 将字典中所有的值放到一个NSEnumerator对象中
// 文件的处理
fileCreationDate:方法 // 文件创建日期
fileModificationDate:方法 // 文件修改的日期
fileSize:方法 // 文件的大小
fileExtensionHidden:方法 // 扩展名是否隐藏
fileType:方法 // 文件的类型
fileGroupOwnerAccountID:方法 // 文件所属组标识
fileGroupOwnerAccountName:方法 // 文件所属组名
fileHFSCreatorCode:方法 // 文件分层系统创建者编码
fileHFSTypeCode:方法 // 文件分层系统类型编码
fileIsAppendOnly:方法 // 文件是否只读
fileIsImmutable:方法 // 文件是否可变
fileOwnerAccountID:方法 // 文件所属人标识
fileOwnerAccountName:方法 // 文件所属人
filePosixPermissions:方法 // 权限
fileSystemFileNumber:方法 // 文件系统的文件编号
fileSystemNumber:方法 // 文件系统编号
writeToFile:方法 // 字典内容写入文件中
writeToURL:方法 // 字典内容写入url中
// 其他
count:方法 // 字典键-值个数
isEqualToDictionary:方法 // 判断字典是否相等
// 可变字典
dictionaryWithCapacity:方法 // 创建固定长度的可变字典
initWithCapacity:方法 // 初始化固定长度的可变字典
setObject:方法 // 设置键-值
setDictionary:方法 // 用字典设置可变字典中的内容
removeAllObjects:方法 // 删除所有的内容
removeObjectForKey:方法 // 删除键所对应的值
removeObjectsForKeys:方法 // 删除多个键所有的值
addEntriesFromDictionary:方法 // 将字典中的键-值添加到可变字典中

NSSet

// 创建以初始化
set:方法 // 创建集合
setWithArray:方法 // 用数组创建集合
setWithObject:方法 // 创建具有一个元素的集合
setWithObjects:方法 // 创建具有多个元素的集合
setWithSet:方法 // 集合创建集合
init:方法 // 初始化集合
initWithArray:方法 // 用数组初始化集合
initWithObjects:方法 // 初始化具有多个元素的集合
initWithSet:方法 // 集合初始化集合
// 访问元素
objectEnumerator:方法 // 将所有集合中的元素放到NSEnumerator对象中
allObjects:方法 // 返回集合中所有的元素
anyObject:方法 // 返回任意一个元素
count:方法 // 返回元素个数
// 判断比较
containsObject:方法 // 判断集合中是否包含某个元素
member:方法 // 判断集合中是否包含某个元素并返回
isSubsetOfSet:方法 // 判断一个集合是否是一个集合的子集
intersectsSet:方法 // 判断交集
isEqualToSet:方法 // 判断集合是否相等
// 可变集合
setWithCapacity:方法 // 创建具有固定长度的可变集合
initWithCapacity:方法 // 初始化具有固定长度的可变集合
setSet:方法 // 通过集合设置可变集合的内容
addObject:方法 // 添加元素
addObjectsFromArray:方法 // 添加数组中的元素
removeAllObjects:方法 // 删除所有元素
removeObject:方法 // 删除指定的元素
unionSet:方法 // 添加集合元素
minusSet:方法 // 去除另一个集合中的元素
intersectSet:方法 // 做交集

NSFileManager、NSFileHandle

defaultManger:方法 // 创建文件管理器
// 文件与目录的操作
createFileAtPath:方法 // 创建文件
copyItemAtPath:方法 // 复制文件
moveItemAtPath:方法 // 移动文件
removeItemFileAtPath:方法 // 删除文件
attributesOfItemAtPath:方法 // 获取文件的属性
setAttributes:方法 // 更改属性
currentDirectoryPath:方法 // 获取当前的目录
changeCurrentDirectoryPath:方法 // 更改目录
createDirectoryAtPath:方法 // 创建目录
// 获取文件和目录信息
contentsAtPath:方法 // 获取文件中的信息
enumeratorAtPath:方法 // 枚举目录
contentsOfDirectoryAtPath:方法 // 列举目录
// 判断文件
fileExistsAtPath:方法 // 判断文件是否存在
isReadableFile:方法 // 判断是否能进行读取操作
isWritableFileAtPath:方法 // 判断是否能进行写入操作
isDeletableFileAtPath:方法 // 判断是否可删除
isExecutableFileAtPath:方法 // 判断是否可以执行
contentsEqualAtPath:方法 // 判断是否相等
// 文件读取
init:方法 // 初始化文件读写对象
fileHandleForReadingAtPath:方法 // 读取时打开文件
fileHandleForWritingAtPath:方法 // 写入时打开文件
fileHandleForUpdatingAtPath:方法 // 更新时打开文件
writeData:方法 // 数据写入文件
readDataToEndOfFile:方法 // 读取数据
readDataOfLength:方法 // 读取固定大小的内容
offsetInFile:方法 // 获取当前偏移量
seekToFileOffset:方法 // 设置当前的偏移量
seekToEndOfFile:方法 // 将偏移量定位到文件尾
truncateFileAtOffset:方法 // 设置字节
availableData:方法 // 返回可用数据
closeFile:方法 // 关闭文件
// 目录工具函数
NSUserName()函数 // 返回登录名
NSFullUserName()函数 // 返回完整用户名
NSHomeDirectory()函数 // 返回路径
NSHomeDirectoryForUser()函数 // 返回用户的主目录
NSTemporaryDirectory()函数 // 返回临时文件的路径目录

NSDate、NSDateFormatter、NSCalendarDate、NSCalendar、NSTimeZone、NSTimer

// 1970年1月1日00:00:00 计算机计时元年,到底现在是什么时间,可以从元年开始 秒数的偏移量。
// 返回从1970年1月1日00:00:00秒开始,间隔100秒之后的日期对象。
NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:100];
NSLog(@"%@",date3);
// 返回从某个日期(date1)开始,偏移100秒后的时间
NSDate *date4 = [NSDate dateWithTimeInterval:100 sinceDate:date1];
NSLog(@"%@",date4);
// 获取当前系统时区
NSTimeZone *tz = [NSTimeZone systemTimeZone];
// 返回当前时区,和格林威治时间相差的秒数
NSInteger timeInterval = [tz secondsFromGMTForDate:date1];
// 时间的创建及初始化
date:方法:创建时间
dateWithString:方法 // 用字符串创建时间
dateWithNaturalLanguageString:方法 // 用字符串创建时间
dateWithTimeInterval:方法 // 用时间间隔创建时间
dateWithTimeIntervalSince1970:方法 // 用时间间隔创建时间
dateWithTimeIntervalSinceNow:方法 // 用时间间隔创建时间
dateWithTimeIntervalSinceReferenceDate:方法 // 用时间间隔创建时间
init:方法 // 初始化时间
initWithString:方法 // 用字符串初始化时间
initWithTimeInterval:方法 // 用时间间隔初始化时间
initWithTimeIntervalSince1970:方法 // 用时间间隔初始化时间
initWithTimeIntervalSinceNow:方法 // 用时间间隔初始化时间
initWithTimeIntervalSinceReferenceDate:方法 // 用时间间隔初始化时间
// 时间的比较
isEqualToDate:方法 // 比较是否相等
compare:方法 // 比较时间
earlierDate:方法 // 比较哪个时间早
laterDate:方法 // 比较哪个时间晚
// 获取时间
dateByAddingTimeInterval:方法 // 获取经过时间间隔后的时间
distantPast:方法 // 获取过去的时间
distantFuture:方法 // 获取将来的时间
timeIntervalSinceDate:方法 // 获取两时间的差值
timeIntervalSinceNow:方法 // 获取两时间的差值
timeIntervalSince1970:方法 // 获取两时间的差值
timeIntervalSinceReferenceDate:方法 // 获取两时间的差值
// 时间和字符串的相互转换
init:方法 // 初始化用于时间转换的对象
setDateFormat:方法 // 设置格式
initWithDateFormat:方法 // 初始化用于时间转换的对象
// 日历时间的创建及初始化
calendarDate:方法 // 创建日历时间
dateWithYear:方法 // 创建日历时间并设置内容
dateWithString:方法 // 创建日历时间并设置内容及格式
init:方法 // 初始化日历时间
initWithYear:方法 // 初始化日历时间并设置内容
initWithString:方法 // 初始化日历时间并设置内容及格式
// 获取日历时间信息
dayOfWeek:方法 // 获取天数
dayOfMonth:方法 // 获取天数
dayOfYear:方法 // 获取天数
hourOfDay:方法 // 获取时间
minuteOfHour:方法 // 获取时间
secondOfMinute:方法 // 获取时间
monthOfYear:方法 // 获取时间
yearOfCommonEra:方法 // 获取年
dayOfCommonEra:方法 // 获取天数
calendarFormat:方法 // 获取日历的格式
timeZone:方法 // 获取时区
dateByAddingYears:方法 // 获取日期时间
// 设置日历时间
setCalendarFormat:方法 // 设置日历的格式
setTimeZone:方法 // 设置时区
// 日历的使用
currentCalendar:方法 // 创建日历
autoupdatingCurrentCalendar:方法 // 获取日历
initWithCalendarIdentifier:方法 // 初始化日历
local:方法 // 获取区域
firstWeekday:方法 // 获取每周的第一天
minimumDaysInFirstWeek:方法 // 获取天数
calendarIdentifier:方法 // 获取日历
setFirstWeekday:方法 // 设置每周的第一天
setMinimumDaysInFirstWeek:方法 // 设置天数
// 时区的使用
timeZoneWithName:方法 // 用已知时区创建时区
timeZoneWithAbbreviation:方法 // 用已知时区创建时区
timeZoneForSecondsFromGMT:方法 // 用偏移创建时区
initWithName:方法 // 用已知时区初始化时区
systemTimeZone:方法 // 获取系统的时区
localTimeZone:方法 // 获取本地时区
knownTimeZoneNames:方法 // 返回所有时区
name:方法 // 获取名称
abbreviation:方法 // 获取缩写
secondsFromGMT:方法 // 获取秒数
// 定时器的使用
timerWithTimeInterval:方法 // 创建定时器
initWithFireDate:方法 // 初始化定时器
setFireDate:方法 // 设置时间
fireDate:方法 // 返回时间
invalidate:方法 // 使定时器无效
isValid:方法 // 判断是否有效

NSData、NSKeyedArchiver

// 数据对象的创建及初始化
data:方法:创建数据对象
dataWithBytes:方法 // 用已有数据创建数据对象
dataWithContentsOfFile:方法 // 将数据对象内容设置为指定文件内容
dataWithContentsOfURL:方法 // 将创建对象的内容设置为url指定的内容
dataWithData:方法 // 用已有数据对象创建新的数据对象
init:方法 // 初始化数据对象
initWithBytes:方法 // 用已有数据初始化数据对象
initWithContentsOfFile:方法 // 对数据对象初始化并将其设置为指定文件内容
initWithContentsOfURL:方法 // 对数据对象初始化并将其设置为指定url内容
initWithData:方法 // 用已有数据对象初始化新的数据对象
// 数据对象的使用
bytes:方法 // 将数据对象转换为字符
dataUsingEncoding:方法 // 将字符串转换为数据对象
length:方法 // 计算数据对象的长度
isEqualToData:方法 // 判断两个数据对象是否相等
subdataWithRange:方法 // 截取数据对象
writeToFile:方法 // 写入文件
writeToURL:方法 // 写入url
// 可变数据对象
dataWithCapacity:方法 // 创建一个具有固定空间大小的可变数据对象
dataWithLength:方法 // 创建具有固定长度的可变数据对象
initWithCapacity:方法 // 初始化具有固定空间大小的可变数据对象
initWithLength:方法 // 初始化具有固定长度的可变数据对象
setData:方法 // 设置内容
setLength:方法 // 设置长度
appendBytes:方法 // 添加数据
appendData:方法 // 添加数据对象
mutableBytes:方法 // 可变数据对象转化为字符
replaceBytesInRange:方法 // 替换
resetBytesInRange:方法 // 删除
// 归档
archiveRootObject:方法 // 数据归档
unarchiveObjectWithFile:方法 // 取消归档
encodeBool:方法 // 对布尔类型的数据编码
decodeBoolForKey:方法 // 对布尔类型数据解码
encodeInt:方法 // 对整型数据编码
decodeIntForKey:方法 // 对整型数据解码
encodeFloat:/encodeDouble:方法 // 对浮点型数据编码
decodeFloatForKey:/decodeDoubleForKey:方法 // 对浮点型数据解码
encodeObject:方法 // 对对象进行编码
decodeObjectForKey:方法 // 对对象进行解码
archivedDataWithRootObject:方法 // 将其他类型的数据进行转换
initForWritingWithMutableData:方法 // 初始化
initForReadingWithData:方法 // 初始化

NSString

string:方法 // 创建字符串
stringWithstring:方法 // 用字符串来创建字符串
stringWithCstring:方法 // 创建C字符串
stringWithFormat:方法 // 创建NSLog()格式的字符串
stringWithContentsOfFile:方法 // 将创建的字符串设置为指定文件的内容
stringWithContentsOfURL:方法 // 将创建字符串设置为url的内容
stringWithUTF8String:方法 // 将创建的字符串转换为UTF8字符串
init:方法 // 初始化字符串
initWithString:方法 // 用字符串来初始化字符串
initWithCString:方法 // 初始化字符串
initWithFormat:方法 // 用NSLog()格式初始化字符串
initWithContentsOfFile:方法 // 将初始化的字符串设置为指定文件的内容
initWithContentsOfURL:方法 // 将初始化的字符串设置为url的内容
initWithUTF8String:方法 // 将初始化的字符串转换为UTF8字符串
isEqualTostring:方法 // 比较字符串是否相等
hasPrefix:方法 // 判断字符串是否以某个字符开始
hasSuffix:方法 // 判断字符串是否以某个字符结束
compare:方法 // 比较字符串的大小
caseInsensitiveCompare:方法 // 不考虑大小写的比较大小
uppercaseString:方法 // 小写字母转为大写字母
lowercaseString:方法 // 大写字母转为小写字母
capitalizedString:方法 // 将每个单词的首字母大写
substringToIndex:方法 // 从字符串的开头一直截取到指定的位置
substringFromIndex:方法 // 从指定位置开始截取字符串直到结束
substringWithRange:方法 // 根据指定范围返回子字符串
characterAtIndex:方法 // 返回索引号所在字符串中的字符
doubleValue:/floatValue:方法 // 返回转换为浮点类型的值
intValue:方法 // 返回转换为整型的值
boolValue:方法 // 返回转换为布尔类型的值
stringByAppendingPathExtension:方法 // 为文件添加扩展名
pathExtension:方法 // 获取文件扩展名
stringByDeletingPathExtension:方法 // 删除扩展名
writeToFile:方法 // 将字符串写入到文件
writeToURL:方法 // 将字符串写入到url中
stringByExpandingTildeInPath:方法 // 将“~”替换成系统的主目录
stringByAbbreviatingWithTildeInPath:方法 // 将系统主目录替换为“~”
lastPathComponent:方法 // 获取路径中的文件名
stringByDeletingLastPathComponent:方法 // 获取路径中文件所在的位置
stringByAppendingPathComponent:方法 // 组合位置和文件名
isAbsolutePath:方法 // 判断绝对路径
length:方法 // 求字符串的长度
stringByAppendingString:方法 // 字符串后面增加一个新字符串
rangeOfString:方法 // 查找字符串中是否包含其他字符串
stringByTrimmingCharactersInSet:方法 // 去除空格或回车
stringWithCapacity:方法 // 按照固定长度生成空字符串
initWithCapacity:方法 // 初始化一个固定长度的字符串
appendString:方法 // 在字符串的末尾附加另一个字符串
appendFormat:方法 // 附加一个格式化字符串
SetString:方法 // 将字符串设置为规定的内容
insertString:方法 // 在指定位置插入字符串
deleteCharactersInRange:方法 // 删除指定范围的字符串
replaceCharactersInRange:方法 // 使用字符串代替指定范围的字符串
replaceOccurrencesOfString:方法 // 替换 将字符串中的某个字全部替换成别一个字
stringByReplacingOccurrencesOfString:方法 // 将字符串中的某个字全部替换成别一个字

NSArray

// 创建及初始化
array:方法 // 创建数组
arrayWithArray:方法 // 通过一个数组创建另一个数组
arrayWithContentsOfFile:方法 // 创建数组将内容设置为指定文件内容
arrayWithContentsOfURL:方法 // 创建数组将内容设置为url指定内容
arrayWithObject:方法 // 创建具有一个元素的数组
arrayWithObjects:方法 // 创建具有多个元素的数组
init:方法 // 初始化数组
initWithArray:方法 // 用数组初始化数组
initWithContentsOfFile:方法 // 初始化数组将内容设置为指定文件内容
initWithContentsOfURL:方法 // 初始化数组将内容设置为url指定内容
initWithObjects:方法 // 初始化具有多个元素的数组
// 数组元素的操作
containsObject:方法 // 判断数组中是否包含某个元素
count:方法 // 计算元素个数
firstObjectCommonWithArray:方法 // 获取首元素
lastObject:方法 // 获取最后一个元素
objectAtIndex:方法 // 获取在某个位置的数组元素
objectAtIndexs:方法 // 获取数组元素
arrayByAddingObject:方法 // 在数组末尾添加元素
arrayByAddingObjectsFromArray:方法 // 在数组的末尾添加另一个数组
subarrayWithRange:方法 // 数组的一部分创建数组
isEqualToArray:方法 // 比较数组是否相等
indexOfObject:方法 // 返回元素所在的位置
indexOfObjectIdenticalTo:方法 // 返回元素所在的位置
componentsJoinedByString:方法 // 数组转换为字符串
componentsSeparatedByString:方法 // 字符串转换为数组
sortedArrayHint:方法 // 数组转换为数据对象
writeToFile:方法 // 将数组中的内容写入到文件
writeToUrl:方法 // 将数组中的内容写入到url
objectEnumerator:方法 // 数组元素从前向后访问
reverseObjectEnumerator:方法 // 数组元素从后向前访问
pathsMatchingExtensions:方法 // 查看某文件夹下的东西
sortedArrayUsingFunction:方法 // 实现数组元素的简单排序
// 可变数组
arrayWithCapacity:方法 // 创建一个具有固定长度的可变数组
initWithCapacity:方法 // 初始化一个具有固定长度的可变数组
addObject:方法 // 添加数组元素
addObjectsFromArray:方法 // 用数组创建可变数组
removeObject:方法 // 删除指定的元素
removeAllObjects:方法 // 删除可变数组中的所有元素
removeLastObject:方法 // 删除可变数组中的最后一个元素
removeObjectAtIndex:方法 // 删除指定位置的元素
removeObjectsAtIndex:方法 // 删除可变数组中的元素
removeObjectsInRange:方法 // 删除某个范围内的可变数组中的元素
removeObjectsInArray:方法 // 删除与另一个数组相同的元素
replaceObjectAtIndex:方法 // 替换可变数组中某一位置的元素
replaceObjectsAtIndexes:方法 // 替换可变数组中的多个元素
replaceObjectsInRange:方法 // 替换某一范围的数组元素
insertObject:方法 // 在某一位置插入数组元素
insertObjects:方法 // 在某一位置或范围插入另一数组元素
exchangeObjectAtIndex:方法 // 交换两个元素
setArray:方法 // 设置可变数组中内容

NSDictionary

// 创建及初始化
dictionary:方法 // 创建字典
dictionaryWithContentsOfFile:方法 // 将创建的字典内容设置为指定文件内容
dictionaryWithContentsOfURL:方法 // 将创建的字典内容设置为指定url内容
dictionaryWithDictionary:方法 // 用字典创建字典
dictionaryWithObject:方法 // 创建具有一个键-值的字典
dictionaryWithObjects:方法 // 创建具有多个键-值的字典
dictionaryWithObjectsAndKeys:方法 // 创建具有多个键-值的字典
init:方法:初始化字典
initWithContentsOfFile:方法 // 将初始化的字典内容设置为指定文件内容
initWithContentsOfURL:方法 // 将初始化的字典内容设置为指定url内容
initWithDictionary:方法 // 用字典初始化字典
initWithObjects:方法 // 初始化具有多个键-值的字典
initWithObjectsAndKeys:方法 // 初始化具有多个键-值的字典
// 访问键-值
objectForKey:方法 // 返回键的值
allKeys:方法 // 返回所有的键
allValue:方法 // 返回所有的值
allKeysForObject:方法 // 返回值所对应的键
keyEnumerator:方法 // 将字典中所有的键放到NSEnumerator对象中
objectEnumerator:方法 // 将字典中所有的值放到一个NSEnumerator对象中
// 文件的处理
fileCreationDate:方法 // 文件创建日期
fileModificationDate:方法 // 文件修改的日期
fileSize:方法 // 文件的大小
fileExtensionHidden:方法 // 扩展名是否隐藏
fileType:方法 // 文件的类型
fileGroupOwnerAccountID:方法 // 文件所属组标识
fileGroupOwnerAccountName:方法 // 文件所属组名
fileHFSCreatorCode:方法 // 文件分层系统创建者编码
fileHFSTypeCode:方法 // 文件分层系统类型编码
fileIsAppendOnly:方法 // 文件是否只读
fileIsImmutable:方法 // 文件是否可变
fileOwnerAccountID:方法 // 文件所属人标识
fileOwnerAccountName:方法 // 文件所属人
filePosixPermissions:方法 // 权限
fileSystemFileNumber:方法 // 文件系统的文件编号
fileSystemNumber:方法 // 文件系统编号
writeToFile:方法 // 字典内容写入文件中
writeToURL:方法 // 字典内容写入url中
// 其他
count:方法 // 字典键-值个数
isEqualToDictionary:方法 // 判断字典是否相等
// 可变字典
dictionaryWithCapacity:方法 // 创建固定长度的可变字典
initWithCapacity:方法 // 初始化固定长度的可变字典
setObject:方法 // 设置键-值
setDictionary:方法 // 用字典设置可变字典中的内容
removeAllObjects:方法 // 删除所有的内容
removeObjectForKey:方法 // 删除键所对应的值
removeObjectsForKeys:方法 // 删除多个键所有的值
addEntriesFromDictionary:方法 // 将字典中的键-值添加到可变字典中

NSSet

// 创建以初始化
set:方法 // 创建集合
setWithArray:方法 // 用数组创建集合
setWithObject:方法 // 创建具有一个元素的集合
setWithObjects:方法 // 创建具有多个元素的集合
setWithSet:方法 // 集合创建集合
init:方法 // 初始化集合
initWithArray:方法 // 用数组初始化集合
initWithObjects:方法 // 初始化具有多个元素的集合
initWithSet:方法 // 集合初始化集合
// 访问元素
objectEnumerator:方法 // 将所有集合中的元素放到NSEnumerator对象中
allObjects:方法 // 返回集合中所有的元素
anyObject:方法 // 返回任意一个元素
count:方法 // 返回元素个数
// 判断比较
containsObject:方法 // 判断集合中是否包含某个元素
member:方法 // 判断集合中是否包含某个元素并返回
isSubsetOfSet:方法 // 判断一个集合是否是一个集合的子集
intersectsSet:方法 // 判断交集
isEqualToSet:方法 // 判断集合是否相等
// 可变集合
setWithCapacity:方法 // 创建具有固定长度的可变集合
initWithCapacity:方法 // 初始化具有固定长度的可变集合
setSet:方法 // 通过集合设置可变集合的内容
addObject:方法 // 添加元素
addObjectsFromArray:方法 // 添加数组中的元素
removeAllObjects:方法 // 删除所有元素
removeObject:方法 // 删除指定的元素
unionSet:方法 // 添加集合元素
minusSet:方法 // 去除另一个集合中的元素
intersectSet:方法 // 做交集

NSFileManager、NSFileHandle

defaultManger:方法 // 创建文件管理器
// 文件与目录的操作
createFileAtPath:方法 // 创建文件
copyItemAtPath:方法 // 复制文件
moveItemAtPath:方法 // 移动文件
removeItemFileAtPath:方法 // 删除文件
attributesOfItemAtPath:方法 // 获取文件的属性
setAttributes:方法 // 更改属性
currentDirectoryPath:方法 // 获取当前的目录
changeCurrentDirectoryPath:方法 // 更改目录
createDirectoryAtPath:方法 // 创建目录
// 获取文件和目录信息
contentsAtPath:方法 // 获取文件中的信息
enumeratorAtPath:方法 // 枚举目录
contentsOfDirectoryAtPath:方法 // 列举目录
// 判断文件
fileExistsAtPath:方法 // 判断文件是否存在
isReadableFile:方法 // 判断是否能进行读取操作
isWritableFileAtPath:方法 // 判断是否能进行写入操作
isDeletableFileAtPath:方法 // 判断是否可删除
isExecutableFileAtPath:方法 // 判断是否可以执行
contentsEqualAtPath:方法 // 判断是否相等
// 文件读取
init:方法 // 初始化文件读写对象
fileHandleForReadingAtPath:方法 // 读取时打开文件
fileHandleForWritingAtPath:方法 // 写入时打开文件
fileHandleForUpdatingAtPath:方法 // 更新时打开文件
writeData:方法 // 数据写入文件
readDataToEndOfFile:方法 // 读取数据
readDataOfLength:方法 // 读取固定大小的内容
offsetInFile:方法 // 获取当前偏移量
seekToFileOffset:方法 // 设置当前的偏移量
seekToEndOfFile:方法 // 将偏移量定位到文件尾
truncateFileAtOffset:方法 // 设置字节
availableData:方法 // 返回可用数据
closeFile:方法 // 关闭文件
// 目录工具函数
NSUserName()函数 // 返回登录名
NSFullUserName()函数 // 返回完整用户名
NSHomeDirectory()函数 // 返回路径
NSHomeDirectoryForUser()函数 // 返回用户的主目录
NSTemporaryDirectory()函数 // 返回临时文件的路径目录

NSDate、NSDateFormatter、NSCalendarDate、NSCalendar、NSTimeZone、NSTimer

// 1970年1月1日00:00:00 计算机计时元年,到底现在是什么时间,可以从元年开始 秒数的偏移量。
// 返回从1970年1月1日00:00:00秒开始,间隔100秒之后的日期对象。
NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:100];
NSLog(@"%@",date3);
// 返回从某个日期(date1)开始,偏移100秒后的时间
NSDate *date4 = [NSDate dateWithTimeInterval:100 sinceDate:date1];
NSLog(@"%@",date4);
// 获取当前系统时区
NSTimeZone *tz = [NSTimeZone systemTimeZone];
// 返回当前时区,和格林威治时间相差的秒数
NSInteger timeInterval = [tz secondsFromGMTForDate:date1];
// 时间的创建及初始化
date:方法:创建时间
dateWithString:方法 // 用字符串创建时间
dateWithNaturalLanguageString:方法 // 用字符串创建时间
dateWithTimeInterval:方法 // 用时间间隔创建时间
dateWithTimeIntervalSince1970:方法 // 用时间间隔创建时间
dateWithTimeIntervalSinceNow:方法 // 用时间间隔创建时间
dateWithTimeIntervalSinceReferenceDate:方法 // 用时间间隔创建时间
init:方法 // 初始化时间
initWithString:方法 // 用字符串初始化时间
initWithTimeInterval:方法 // 用时间间隔初始化时间
initWithTimeIntervalSince1970:方法 // 用时间间隔初始化时间
initWithTimeIntervalSinceNow:方法 // 用时间间隔初始化时间
initWithTimeIntervalSinceReferenceDate:方法 // 用时间间隔初始化时间
// 时间的比较
isEqualToDate:方法 // 比较是否相等
compare:方法 // 比较时间
earlierDate:方法 // 比较哪个时间早
laterDate:方法 // 比较哪个时间晚
// 获取时间
dateByAddingTimeInterval:方法 // 获取经过时间间隔后的时间
distantPast:方法 // 获取过去的时间
distantFuture:方法 // 获取将来的时间
timeIntervalSinceDate:方法 // 获取两时间的差值
timeIntervalSinceNow:方法 // 获取两时间的差值
timeIntervalSince1970:方法 // 获取两时间的差值
timeIntervalSinceReferenceDate:方法 // 获取两时间的差值
// 时间和字符串的相互转换
init:方法 // 初始化用于时间转换的对象
setDateFormat:方法 // 设置格式
initWithDateFormat:方法 // 初始化用于时间转换的对象
// 日历时间的创建及初始化
calendarDate:方法 // 创建日历时间
dateWithYear:方法 // 创建日历时间并设置内容
dateWithString:方法 // 创建日历时间并设置内容及格式
init:方法 // 初始化日历时间
initWithYear:方法 // 初始化日历时间并设置内容
initWithString:方法 // 初始化日历时间并设置内容及格式
// 获取日历时间信息
dayOfWeek:方法 // 获取天数
dayOfMonth:方法 // 获取天数
dayOfYear:方法 // 获取天数
hourOfDay:方法 // 获取时间
minuteOfHour:方法 // 获取时间
secondOfMinute:方法 // 获取时间
monthOfYear:方法 // 获取时间
yearOfCommonEra:方法 // 获取年
dayOfCommonEra:方法 // 获取天数
calendarFormat:方法 // 获取日历的格式
timeZone:方法 // 获取时区
dateByAddingYears:方法 // 获取日期时间
// 设置日历时间
setCalendarFormat:方法 // 设置日历的格式
setTimeZone:方法 // 设置时区
// 日历的使用
currentCalendar:方法 // 创建日历
autoupdatingCurrentCalendar:方法 // 获取日历
initWithCalendarIdentifier:方法 // 初始化日历
local:方法 // 获取区域
firstWeekday:方法 // 获取每周的第一天
minimumDaysInFirstWeek:方法 // 获取天数
calendarIdentifier:方法 // 获取日历
setFirstWeekday:方法 // 设置每周的第一天
setMinimumDaysInFirstWeek:方法 // 设置天数
// 时区的使用
timeZoneWithName:方法 // 用已知时区创建时区
timeZoneWithAbbreviation:方法 // 用已知时区创建时区
timeZoneForSecondsFromGMT:方法 // 用偏移创建时区
initWithName:方法 // 用已知时区初始化时区
systemTimeZone:方法 // 获取系统的时区
localTimeZone:方法 // 获取本地时区
knownTimeZoneNames:方法 // 返回所有时区
name:方法 // 获取名称
abbreviation:方法 // 获取缩写
secondsFromGMT:方法 // 获取秒数
// 定时器的使用
timerWithTimeInterval:方法 // 创建定时器
initWithFireDate:方法 // 初始化定时器
setFireDate:方法 // 设置时间
fireDate:方法 // 返回时间
invalidate:方法 // 使定时器无效
isValid:方法 // 判断是否有效

NSData、NSKeyedArchiver

// 数据对象的创建及初始化
data:方法:创建数据对象
dataWithBytes:方法 // 用已有数据创建数据对象
dataWithContentsOfFile:方法 // 将数据对象内容设置为指定文件内容
dataWithContentsOfURL:方法 // 将创建对象的内容设置为url指定的内容
dataWithData:方法 // 用已有数据对象创建新的数据对象
init:方法 // 初始化数据对象
initWithBytes:方法 // 用已有数据初始化数据对象
initWithContentsOfFile:方法 // 对数据对象初始化并将其设置为指定文件内容
initWithContentsOfURL:方法 // 对数据对象初始化并将其设置为指定url内容
initWithData:方法 // 用已有数据对象初始化新的数据对象
// 数据对象的使用
bytes:方法 // 将数据对象转换为字符
dataUsingEncoding:方法 // 将字符串转换为数据对象
length:方法 // 计算数据对象的长度
isEqualToData:方法 // 判断两个数据对象是否相等
subdataWithRange:方法 // 截取数据对象
writeToFile:方法 // 写入文件
writeToURL:方法 // 写入url
// 可变数据对象
dataWithCapacity:方法 // 创建一个具有固定空间大小的可变数据对象
dataWithLength:方法 // 创建具有固定长度的可变数据对象
initWithCapacity:方法 // 初始化具有固定空间大小的可变数据对象
initWithLength:方法 // 初始化具有固定长度的可变数据对象
setData:方法 // 设置内容
setLength:方法 // 设置长度
appendBytes:方法 // 添加数据
appendData:方法 // 添加数据对象
mutableBytes:方法 // 可变数据对象转化为字符
replaceBytesInRange:方法 // 替换
resetBytesInRange:方法 // 删除
// 归档
archiveRootObject:方法 // 数据归档
unarchiveObjectWithFile:方法 // 取消归档
encodeBool:方法 // 对布尔类型的数据编码
decodeBoolForKey:方法 // 对布尔类型数据解码
encodeInt:方法 // 对整型数据编码
decodeIntForKey:方法 // 对整型数据解码
encodeFloat:/encodeDouble:方法 // 对浮点型数据编码
decodeFloatForKey:/decodeDoubleForKey:方法 // 对浮点型数据解码
encodeObject:方法 // 对对象进行编码
decodeObjectForKey:方法 // 对对象进行解码
archivedDataWithRootObject:方法 // 将其他类型的数据进行转换
initForWritingWithMutableData:方法 // 初始化
initForReadingWithData:方法 // 初始化

本文由www.99399.com发布于健康典籍,转载请注明出处:OC常用方法

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。