1.关键字:可以用于属性 方法和返回值参数中

关键字作用:提示作用  告诉开发者属性信息

关键字的目的:迎合swift 强语言,swift必须要指定一个对象是否为空

关键字好处:提高代码规划,减少沟通成本

仅仅是提供警告并不会报编译错误

nullabel作用 :提示可能为空

语法 1

@property(nonatomic ,strong ,nullabel)NSString * name;

语法 2

@property(nonatomic ,strong )NSString * _Nullabel  name;

语法 2

@property(nonatomic ,strong )NSString * __nullabel  name;

nonnull作用 :提示不能为空

语法 1

@property(nonatomic ,strong ,nonnull )NSString * name;

语法 2

@property(nonatomic ,strong )NSString * _Nonnull  name;

语法 2

@property(nonatomic ,strong )NSString * __nonnull  name;

null_resettable 作用:必须要处理为空的情况  get不能返回nil  set方法可以传入为空

重写get方法

@property(nonatomic ,strong,null_resettable )NSString *  name;

不可以用语法2 写法  会报错

_Null_unspecified : 不确定是否为空

很少使用

—————————

!_view  改为  _view = nil  因为swift不支持前者

补充 在宏(NS_ASSUME_NONULL_BEGIN /END)之间默认是nonnull   strong

关键字不能用于基本数据类型

************************************************************************************

2.泛型

为什么要退出泛型?迎合swift

泛型好处:1.限制类型  2.提高代码规范 减少沟通成本

泛型用法:类型<限制类型>

泛型仅仅是报警告

泛型好处  从数组中取出来可以使用点语法

给数组添加元素有提示

泛型在开发中的使用场景:1.用于限制集合类型

nullable,nonnull, null_resettable以及_Null_unspecified的区别和使用的更多相关文章

  1. 关键字nullable,nonnull,null_resettable,_Null_unspecified详解

    相信在开发过程中,很多小伙伴们儿都会见到nullable,nonnull,null_resettable,_Null_unspecified这几个关键字,但是并不知道它们是什么意思,下面我就给大家一一 ...

  2. iOS9的几个新关键字(nonnull、nullable、null_resettable、__null_unspecified)

    1.nonnull:字面意思就能知道:不能为空(用来修饰属性,或者方法的参数,方法的返回值) 代码: //三种使用方式都可以 @property (nonatomic, copy, nonnull) ...

  3. 李洪强iOS经典面试题上

    李洪强iOS经典面试题上     1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ / ...

  4. 招聘一个靠谱的ios

    1. 风格纠错题 修改方法有很多种,现给出一种做示例: 最终改为: 下面对具体修改的地方, 2. 什么情况使用 weak 关键字,相比 assign 有什么不同? 什么情况使用 weak 关键字? 1 ...

  5. 招聘一个靠谱的iOS》面试题参考答案(上)

    说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 博文中给出了高质量的面试题,但是未给出答案, ...

  6. OC修饰词 - 内存管理

    <招聘一个靠谱的 iOS>—参考答案(上) 说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均 ...

  7. 《招聘一个靠谱的iOS》面试题参考答案(上)

    说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 博文中给出了高质量的面试题,但是未给出答案, ...

  8. iOS开发面试题整理 (三)

    1. 风格纠错题 修改完的代码: typedef NS_ENUM(NSInteger, CYLSex) { CYLSexMan, CYLSexWoman }; @interface CYLUser : ...

  9. iOS面试题及答案

    设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情. 1). MVC模式:Model View Control,把模型 视图 控制器 ...

随机推荐

  1. Spring Batch学习笔记三:JobRepository

    此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch Job在运行时有很多元数据,这些元数据一般会被保存在内存或者数据库中,由于Spring Batch在默认配置是使用H ...

  2. (function(){})()是什么意思?

    JS里面(function(){})()function外面的括号是什么意思? 定义了一个函数,并马上执行这个函数.这是js中常用的方式.好处呢.参考:js 闭包

  3. java常用英文解释

    java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK ...

  4. Avg_row_length是怎么计算的?

    通过一下命令我们可以获取表的使用情况: root::>show table status like 'tbname'\G 结果: . row ************************** ...

  5. python获取绝对路径

    import osimport sysprint 'os.getcwd()=',os.getcwd()print 'sys.argv=',sys.argvprint 'sys.argv[0]=',sy ...

  6. Rectangle Area

    class Solution { public: int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { l ...

  7. linux和windows下的自动ftp脚本(shell bat)

    一.先来看linux下的: 复制代码 代码如下: #! /bin/bashcd /ftp/CURRENTDATE=` date +%Y%m%d `YESTERDAY=` date -d yesterd ...

  8. A ship is always safe at the shore - but that is not what it is built for.

    A ship is always safe at the shore - but that is not what it is built for. 船靠岸边总是安全的,但那不是建造它的目的.

  9. [转]html5音乐播放器

    http://files.cnblogs.com/files/xjyggd/html5music.rar import java.io.File;import java.util.ArrayList; ...

  10. weboffice控件使用不能嵌入网页

    var s = ""s += "<object id=WebOffice1 height=586 width='100%' style='LEFT: 0px; TO ...