IOS 开发之对象为空的判断(nil、null)详解
IOS 开发之对象为空的判断(nil、null)详解
前言:
在开发中,会遇到很多空的情况,有时候取得对象(null),还有时候会得到<null>的情况,我们需要判断是否为空,进行return;
id result; // 针对(null)这种情况 if(result == nil) return; // 针对<null>的情况 if([result isEqual:[NSNull null]]) return;
前者的判断,我们用的比较频繁,但后者,用的比较少,一般赋值给nil之外的其他空值;
基本数据类型的空值判断
对于类似于NSString类型的数据进行空值判断
NSString *string; 1、string == nil; 2、[string isEqualToString:@""];
对于类似于NSNumber类型的数据进行空值判断
NSNumber *number; 1、number == nil; 2、[number isEqualToNumber:@0]
对于类似于NSArray类型的数据进行空值判断
NSArray *array; 1、array == nil; 2、array.count = 0;
对于类似于NSDictionary类型的数据进行空值判断
NSDictionary *dictionary; 1、[dictionary isEqual:[NSNull null]]; 2、dictionary.count = 0;
对于对象类型的数据进行空值判断
可以使用 !(非) 来判断
if(!class) return;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
iOS对象指针和基础数据类型的强转详解
本文主要介绍了iOS中对象指针和基础数据类型如何进行强转,下面话不多说,直接来看示例详解. 一.对象指针的强转: UIView *view = [UIView new];//new一个UIView类的对象 UILabel *label = (UILabel *)view;//强转成UILabel指针 label.text = @"123";//给label的text属性赋值(调用label的setText方法) 上述代码会产生崩溃,崩溃信息如下: -[UIView setText:]:
-
iOS创建对象的不同姿势详解
前言 在写 iOS 代码的时候,怎么样去 new 一个新对象出来,都有一些讲究在里面.使用不同的姿势去创建对象,对后期维护所造成的影响会存在细微的差别. init 创建 在之前一篇分析 iOS 代码耦合的文章中,提到过当我们给一个对象的 property 赋值的时候,通过 init 方法传入参数来初始化 property 会让我们的代码更可靠. 有些人在定义带 property 的 class 的时候,会这样定义: @interface User : NSObject @property (no
-
IOS 开发之Object-C中的对象详解
IOS 开发之Object-C中的对象详解 前言 关于C语言的基础部分已经记录完毕,接下来就是学习Object-C了,编写oc程序需要使用Foundation框架.下面就是对oc中的对象介绍. 对象 对象和结构类似,一个对象可以保存多个相关的数据.在结构中,我们称这些数据为成员.而在对象中,称这些数据为实例变量.除了这些以外,对象和结构不用之处在于,对象还可以包含一组函数,并且这些函数可以使用对象所保存的数据,这类函数称为方法. 类 类(class)负责描述某个特点类型的对象,其中包括方法和实例
-
iOS 对象属性详细介绍
iOS 对象属性 oc对象的一些属性: retain,strong, copy,weak,assign,readonly, readwrite, unsafe_unretained 下面来分别讲讲各自的作用和区别: retain,计数器加1, (增加一个指向内存的指针) 对应release(计数器-1) setter 方法对参数进行 release 旧值再 retain 新值,所有实现都是这个顺序 - (void)setBackView:(UIView *)backView { if (_bac
-
IOS 开发之对象为空的判断(nil、null)详解
IOS 开发之对象为空的判断(nil.null)详解 前言: 在开发中,会遇到很多空的情况,有时候取得对象(null),还有时候会得到<null>的情况,我们需要判断是否为空,进行return: id result; // 针对(null)这种情况 if(result == nil) return; // 针对<null>的情况 if([result isEqual:[NSNull null]]) return; 前者的判断,我们用的比较频繁,但后者,用的比较少,一般赋值给nil之
-
iOS开发retina屏幕下的点与像素关系详解
目录 引言 I iOS中点与像素有什么关系? II 图片使用的相关注意事项 2.1 推荐使用png格式 2.2 关于图像的实例化 2.3 动画结束之后清除帧动画数组 III 设置状态栏字体颜色 3.1 方式一 3.2 方式二 see also 引言 提交app store的时候 需要一张1024*1024的 如果不设置这两种的尺寸启动页的话,在4英寸.3.5英寸的设备上展示不了启动页,app 的高度也默认都是矮的960px.** 注意@3x 提供给开发的px 为12422208 ,但真实的px
-
iOS开发中以application/json上传文件实例详解
本文通过实例代码给大家讲解iOS中以application/json上传文件的形式,具体内容详情大家参考下本文. 在和sever后台交互的过程中.有时候.他们需要我们iOS开发者以"application/json"形式上传. NSString *accessUrl = [NSString stringWithFormat:@"%@/xxx",@"https://www.xxxxx.com:xxxx"]; NSMutableURLRequest
-
Go json自定义Unmarshal避免判断nil示例详解
目录 前言 使用默认的 Unmarshal 方法 自定义的 Unmarshal 方法 前言 腾讯<Go安全指南>中提到[必须]nil指针判断:进行指针操作时,必须判断该指针是否为nil,防止程序panic,尤其在进行结构体Unmarshal时.但如果每次使用都要判断一下是否 nil 防止 panic的话,那么这样的代码就会比较麻烦,这里我们可以使用一个自定义的方法,来避免这种情况. 使用默认的 Unmarshal 方法 package main import ( "encoding/
-
iOS开发教程之UIView和UIViewController的生命周期详解
前言 iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB:创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard. 通过交流我发现很多童鞋对这些概念都很模糊,于是通过实验写一篇博客供参考. 重写View的如下方法 @implementation YFView -(instancetype)init{ self = [super init]; NSLog(@"%s", __func__); return self; } -(
-
js判断是否为空和typeof的用法(详解)
(1)typeof用法 typeof的运算数未定义,返回的就是 "undefined". 运算数为数字 typeof(x) = "number" 字符串 typeof(x) = "string" 布尔值 typeof(x) = "boolean" 对象,数组和null typeof(x) = "object" 函数 typeof(x) = "function" (2)js判断是否为空 v
-
低门槛开发iOS、Android、小程序应用的前端框架详解
现如今跨平台开发技术已不是什么新鲜话题了,在市面上也有一些开源的框架可供选择,然而技术成熟.产品服务健全的平台并不多,其中也不乏推陈出新的框架值得关注. 比如最近使用的AVM,由APICloud迭代推出的多端开发框架,基于JavaScript,兼容多语法,如果是Vue.React的用户,可直接上手,没什么学习成本,具备虚拟DOM,可一次编写多端渲染:主要是APICloud上线已有7年,相对已经成熟,所以我把自己的一些认知和实践结合AVM官方文档的内容做了一下整理,希望能对需要使用跨平台开发技术的
-
java开发Dubbo负载均衡与集群容错示例详解
目录 负载均衡与集群容错 Invoker 服务目录 RegistryDirectory 获取Invoker列表 监听注册中心 刷新Invoker列表 StaticDirectory 服务路由 Cluster FailoverClusterInvoker FailfastClusterInvoker FailsafeClusterInvoker FailbackClusterInvoker ForkingClusterInvoker BroadcastClusterInvoker Abstract
-
Android快速开发系列 10个常用工具类实例代码详解
打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~在此感谢群里给我发项目中工具类的兄弟/姐妹~ 1.日志工具类L.java package com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ public class L { private L() { /* cannot be instantiated */ throw new UnsupportedOpe
-
python不相等的两个字符串的 if 条件判断为True详解
今天遇到一个非常基础的问题,结果搞了好久好久.....赶快写一篇博客记录一下: 本来两个不一样的字符串,在if 的条件判断中被判定为True,下面是错误的代码: test_str = 'happy' if test_str == 'good' or 'happy': #这样if判断永远是True,写法错误 print('aa') else: print('bbbb') 这是正确的代码: test_str = 'happy' if test_str == 'good' or test_str ==
随机推荐
- mongodb主从复制_动力节点Java学院整理
- JS扩展类,克隆对象与混合类实例分析
- vue.js 1.x与2.0中js实时监听input值的变化
- node通过express搭建自己的服务器
- 让应用程序只运行一个实例的实现方法
- iOS开发中以application/json上传文件实例详解
- 利用python代码写的12306订票代码
- javascript中this用法实例详解
- Node.js事件循环(Event Loop)和线程池详解
- js截取小数点后几位的写法
- JS+CSS实现仿msn风格选项卡效果代码
- 防止MySQL注入或HTML表单滥用的PHP程序
- ASP数据岛操作类
- 用javascript实现给图片加链接
- CSS expression控制图片自动缩放效果代码[兼容 IE,Firefox]
- 用ASP将SQL搜索出来的内容导出为TXT的代码
- 使用C#获取远程图片 Form用户名与密码Authorization认证的实现
- c#和sql如何获得时间间隔的方法
- 简单了解PHP编程中数组的指针的使用
- C#从foreach语句中枚举元素看数组详解