成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Objecitive-C中的nil

移動開發 iOS
nil是一種類型,它只有一個值nil,它的主要功能是用于區別其他任何值,就像之前所說的,一個全局變量在第一次賦值前的默認值就是nil,將nil賦予一個全局變量等同于刪除它,Lua將nil用于表示一種“無效值(non-value)”的情況,既沒有任何有效值的情況。

當我學習OC的時候,我總是忍不住在對比。Actionscript是如何實現,而oc又是如何實現。這不,碰到nil的時候我發現了很大的不同之處。做個筆記。


在as中,如果將一個對象置為null,相當于空指針,那么后續對該對象的操作會報錯。而在編碼中,我們常常會判斷if(obj == nul )來判斷該對象是否存在,存在的話才可以進行后續操作。

而在oc中,nil就相當于c、c++中的NULL指針,一般釋放對象后將對象置為nil非常重要,這樣可以防止引用非法指針導致程序崩潰掉。

  1. [obj release];//此時obj的引用計數為0 
  2. [obj someMethod];//程序崩潰 
  3. [obj release]; 
  4. obj = nil; 
  5. [obj someMethod];//obj此時為nil,但不會崩潰 

在objective-c中我們只用nil來檢查程序的邏輯,而不用于判斷對象是否為空來避免崩潰。這與c++是不同。objective-c在運行時會自動處理向nil對象發送消息(調用方法),不會報錯崩潰掉。

責任編輯:閆佳明 來源: oschina
相關推薦

2014-08-14 10:12:45

SwiftNil Coalesc

2015-03-13 09:36:09

NULLnullptr

2009-12-16 14:51:26

Ruby nil

2022-06-13 07:03:25

Go 語言怎么優化重

2024-01-15 07:08:34

IsNil方法結構體

2020-12-17 06:25:05

Gopanic 模式

2010-01-21 14:07:14

CC++聲明

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2011-07-20 10:06:54

CC++const

2011-04-11 11:09:50

this指針

2021-12-27 08:53:23

Go函數 Nil

2010-01-20 10:19:55

C++數組

2010-01-25 10:25:19

C++變量

2010-01-27 17:16:52

C++構造函數

2020-07-31 18:33:56

C++編程語言

2019-08-28 14:21:39

C++C接口代碼

2010-01-21 13:33:44

C++基類

2020-08-21 13:20:36

C++If ElseLinux

2010-01-28 16:31:54

C++類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩精品一区二区三区视频 | 亚洲欧美综合精品另类天天更新 | 欧美一级片免费看 | 欧美寡妇偷汉性猛交 | 在线不卡av| 午夜电影福利 | 成人在线精品视频 | 国产精品美女久久久久aⅴ国产馆 | 一区二区三区在线免费观看视频 | 91精品国产91久久久久久最新 | 嫩草黄色影院 | 日本午夜精品一区二区三区 | h在线 | 国产精品高潮呻吟久久 | 国产一区二区三区四区 | 日韩不卡一区二区三区 | 欧美色a v | 日韩在线视频观看 | 嫩草视频在线免费观看 | 国产精品久久久久久久久免费相片 | 99pao成人国产永久免费视频 | 久久99精品久久久久久 | 欧美激情精品久久久久久免费 | 午夜丰满少妇一级毛片 | 中文字幕1区 | 亚洲日韩欧美一区二区在线 | 一二区电影 | 91高清免费观看 | 国产精品免费观看 | 欧美a级成人淫片免费看 | 中文字幕视频免费 | 91国内在线观看 | 久久69精品久久久久久久电影好 | 欧洲色| 国产网站在线播放 | 国产不卡一 | 黄色一级电影在线观看 | 精品三级在线观看 | 国产一区二区在线免费播放 | 久久久激情视频 | 亚洲一区二区三区四区五区中文 |