zoukankan      html  css  js  c++  java
  • iOS9新特性之关键字

    //
    //  ViewController.m
    //  01-iOS9新特性之常见关键字
    //
    //  Created by kun on 16/8/16.
    //  Copyright © 2016年 kun. All rights reserved.
    //
    
    /*
     nullable:1,怎么使用(语法)2,什么时候使用(作用)
     nullable作用:可能为空
     关键字目的:迎合swift,swift是个强语言,swift必须指定一个对象是否为空
     关键字好处:提高代码规范,减少沟通成本
    
     nullable 语法1
     @property (nonatomic, strong, nullable) NSString *name;
     nullable 语法2
     @property (nonatomic, strong) NSString *_Nullable name;
     nullable 语法3
     @property (nonatomic, strong) NSString *__nullable name;
     */
    
    /*
     nonnull:1,怎么使用(语法)2,什么时候使用(作用)
     nonnull作用:不能为空
     
     nonnull 语法1
     @property (nonatomic, strong, nonnull) NSString *name;
     nonnull 语法2
     @property (nonatomic, strong) NSString *_Nonnull name;
     nonnull 语法3
     @property (nonatomic, strong) NSString *__nonnull name;
     
     null_resettable
     nonnull
     */
    
    /*
     null_resettable:1,怎么使用(语法)2,什么时候使用(作用)
     null_resettable:必须处理为空的情况,重写get方法
     null_resettable作用:get方法不能为空, set可以传入为空
     关键字目的:迎合swift,swift是个强语言,swift必须指定一个对象是否为空
     关键字好处:提高代码规范,减少沟通成本
     
       语法1
     @property (nonatomic, strong, null_resettable) NSString *name;
     
     */
    
    /*
        _Null_unspecified:不确定是否为空
     */
    
    /*
     在下面两个宏之间的属性默认为nonnull
     NS_ASSUME_NONNULL_BEGIN
     NS_ASSUME_NONNULL_END
     */
    
    #import "ViewController.h"
    
    @interface ViewController ()
    // nullable
    // nonnull
    // null_resettable 处理为空的情况
    @property (nonatomic, strong, null_resettable) NSString *name;
    //@property (nonatomic, strong) NSString *_Nullable name;
    //@property (nonatomic, strong) NSString *__nullable name;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
    }
    - (NSString *)name
    {
        if ( _name == nil )
        {
            _name = @"";
        }
        return _name;
    }
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
  • 相关阅读:
    在响应式项目中连接设计与开发
    社交APP的痛点及九大流派解析,微信陌陌,咱还约吗
    网传奶茶妹将进入红杉资本
    OLE、OCX和ActiveX控件之间的比较
    Unity3D网络游戏实战(第2版)
    离婚?在Facebook上把已婚状态改为单身就可以!
    同样酷炫但却失败了的谷歌眼镜,能否给Apple Watch一些前车之鉴?
    Apple Watch首批评测放出:有吐槽、有体贴……毒哭了,暖哭了
    如何培养战略领导力,赢得“长久游戏”?
    博客社交已死,数据社交“永生”
  • 原文地址:https://www.cnblogs.com/fkunlam/p/5775058.html
Copyright © 2011-2022 走看看