美文网首页
iOS-服务器返回空值处理

iOS-服务器返回空值处理

作者: sennnnn | 来源:发表于2018-12-20 15:43 被阅读0次

Github上别人写的一个Category,叫做NullSafe ,在运行时操作,把这个讨厌的空值置为nil,而nil是安全的,可以向nil对象发送任何message而不会奔溃。这个category使用起来非常 方便,只要加入到了工程中就可以了,你其他的什么都不用做,对,就是这么简单。详细的请去Github上查看;
https://github.com/nicklockwood/NullSafe

#import <objc/runtime.h>
#import <Foundation/Foundation.h>


#ifndef NULLSAFE_ENABLED
#define NULLSAFE_ENABLED 1
#endif


#pragma clang diagnostic ignored "-Wgnu-conditional-omitted-operand"


@implementation NSNull (NullSafe)

#if NULLSAFE_ENABLED

- (NSMethodSignature *)methodSignatureForSelector:(SEL)selector
{
    //look up method signature
    NSMethodSignature *signature = [super methodSignatureForSelector:selector];
    if (!signature)
    {
        for (Class someClass in @[
            [NSMutableArray class],
            [NSMutableDictionary class],
            [NSMutableString class],
            [NSNumber class],
            [NSDate class],
            [NSData class]
        ])
        {
            @try
            {
                if ([someClass instancesRespondToSelector:selector])
                {
                    signature = [someClass instanceMethodSignatureForSelector:selector];
                    break;
                }
            }
            @catch (__unused NSException *unused) {}
        }
    }
    return signature;
}

- (void)forwardInvocation:(NSInvocation *)invocation
{
    invocation.target = nil;
    [invocation invoke];
}

#endif

@end

相关文章

  • iOS-服务器返回空值处理

    Github上别人写的一个Category,叫做NullSafe ,在运行时操作,把这个讨厌的空值置为nil,而n...

  • iOS-处理网络请求返回空

    当网络请求返回null,然后对数据进行操作就会导致崩溃, 因为NSNull不是字符串,也不是nil,只有一个方法 ...

  • 网络请求返回空值处理

    iOS开发中经常会遇到空指针的问题。如从后台传回来的Json数据,程序中不做判断就直接赋值操作,很有可能出现崩溃闪...

  • 重新认识一下OC 中的 BOOL 值

    在处理服务器返回值时,遇到了一下的问题.之后注意到了 BOOL 值不是那么简单的.先说明一下问题, 下面是服务器返...

  • Swift函数

    函数是一段代码片段 函数定义和调用 语法 函数参数是let类型 函数默认返回空元组() 参数和返回值都可以为空 返...

  • mfc 打开文件通用接口

    返回值是文件的路径,没有选择,返回空。

  • 【iOS开发】iOS中的桥接

    ios-关于桥接 iOS-关于桥接Ios中的桥接 关键点 iOSSDK中的框架做分层处理 CoreFoundati...

  • swif-闭包传值

    闭包传值 打开xclode,创建ios->single view application ->next ->pr...

  • NSString isEqualToString 明明相等,比较

    背景:今天从服务器获取一个tag值为@"N",与我本地的字符串@"Y",使用 比较却显示相等。解决方法:将服务器返...

  • useServerPrepStmts参数影响数据精度

    useServerPrepStmts:如果服务器支持,是否使用服务器端预处理语句? 默认值为“真” Java在用B...

网友评论

      本文标题:iOS-服务器返回空值处理

      本文链接:https://www.haomeiwen.com/subject/pcwykqtx.html