• 20160126深入浅出obc知识点整理


    1.错误域Error Domain

    NSMachErrorDomain:系统内核错误

    NSPOSIXErrorDomain:系统错误

    NSOSStatusErrorDomian:MacOS9之前的错误或者Carbon框架错误

    NSCocoaErrorDomain:cocoa框架错误

    2.本地化错误描述

    (1)NSUnderlyingErrorKey

    NSDictionary *userInfo = [error userInfo];

    NSString *errorDesc = nil;

    //检查有没有"NSUnderlyingErrorKey"可供使用

    if(userInfo && [userInfo objectForKey:NSUnderlyingErrorKey]){

         NSError *underlyingError = [userInfo objectForKey:NSUnderlyingErrorKey];

         if(underlyingError){

              errorDesc = [underlyingError localizedDescription];

         }

         else{

              errorDesc = [error localizedDescription];

         }

    }

    else{

        errorDesc = [error localizedDescription];

    }

    (2)localized Description

    NSError *errorInfo = nil;

    //假设在操作系统的根目录上放一个"test.rtf"文件,strTest拿到@"/test.rf"的内容

    NSString *strTest = [NSString stringWithContentsOfFile:@"/test.rf"

                                                 encoding:NSUTF8StringEncoding

                                                 ettor:&errorInfo];

    if(!strTest){

        if(!errorInfo){

           NSLog(@"An error occurred: %@" , [errorInfo localizedDescription]);

        }else{

           NSLog(@"An unknow error occurred" );

        }

    }

    3.输出当前的函数

    %s __FUNCTION__

    4.单例

    share*****

    default*****

    5.ARC

    weak和strong代替assign.retain.copy

    6.KVC

    valueForKeyPath  取

    setValue: forkey:  设置

    7.KVO

    [self addObserver:self

            forKeyPath:@"datasrc"

            options:*****

            context:@"testContent"];

     
  • 相关阅读:
    解释之前遗留的方法覆盖问题
    多态在开发中的作用
    多态的基础语法
    Go 统计汉子字符
    Go map
    Go make和new的区别
    Go 指针
    Go 切片
    Go数组
    Go中交换两个值类型
  • 原文地址:https://www.cnblogs.com/zhongxuan/p/5161980.html
Copyright © 2020-2023  润新知