nil(計(jì)算機(jī)語言)。
成都服務(wù)器托管,創(chuàng)新互聯(lián)公司提供包括服務(wù)器租用、溫江服務(wù)器租用、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、域名注冊(cè)等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108
nil表示無值,任何變量在沒有被賦值之前的值都為nil,對(duì)于真假判斷,只有nil與false、0表示假,其余均為真。
Objective-C, Swift, Ruby, Lua中的關(guān)鍵字,與C++里的NULL不同,NULL是一個(gè)宏定義,值為0,nil表示無值。
在Programming in Lua 程序設(shè)計(jì)第二版中原文是這樣寫的:
"nil是一種類型,它只有一個(gè)值nil,它的主要功能是用于區(qū)別其他任何值,就像之前所說的,一個(gè)全局變量在第一次賦值前的默認(rèn)值就是nil,將nil賦予一個(gè)全局變量等同于刪除它,Lua將nil用于表示一種“無效值(non-value)”的情況,即沒有任何有效值的情況。"
對(duì)于某些類型的變量,如指針、切片、map、接口、通道、函數(shù)等,如果從未為它賦過值,則它將具有默認(rèn)值nil。這句代碼的意思就是,如果s0未初始化過,就打印true,否則打印false。
nil:指向oc中對(duì)象的空指針。
Nil:指向oc中類的空指針。
NULL:指向其他類型的空指針,如一個(gè)c類型的內(nèi)存指針。
一、nil
給對(duì)象賦值時(shí)一般會(huì)使用object = nil,表示想把這個(gè)對(duì)象釋放掉;或者對(duì)象由于某種原因,經(jīng)過多次release,于是對(duì)象引用計(jì)數(shù)器為0了,系統(tǒng)將這塊內(nèi)存釋放掉,這個(gè)時(shí)候這個(gè)對(duì)象為nil,稱它為“空對(duì)象”。
二、Nil
nil和Nil在使用上是沒有嚴(yán)格限定的,也就是說凡是使用nil的地方都可以用Nil來代替,反之亦然。只不過從編程人員的規(guī)約中約定俗成地將nil表示一個(gè)空對(duì)象,Nil表示一個(gè)空類。
三、NULL
我們知道Object-C來源于C、支持于C,當(dāng)然也有別于C。而NULL就是典型C語言的語法,它表示一個(gè)空指針。
類與對(duì)象的概念
類是對(duì)同一類事物高度的抽象,類中定義了這一類對(duì)象所應(yīng)具有的靜態(tài)屬性(屬性)和動(dòng)態(tài)屬性(方法)。對(duì)象是類的一個(gè)實(shí)例,是一個(gè)具體的事物;類與對(duì)象是抽象與具體的關(guān)系。類其實(shí)就是一種數(shù)據(jù)類型,它的變量就是對(duì)象。
類與類之間的關(guān)系——繼承關(guān)系
A是B
例如:學(xué)生與小學(xué)生 小學(xué)生也是學(xué)生,所以學(xué)生是小學(xué)生的父類,小學(xué)生是學(xué)生的子類。
oc與面向?qū)ο?/p>
對(duì)象是oc程序的核心?!叭f事萬物皆對(duì)象”是程序中的核心思想。
類是用來創(chuàng)見同一類型的對(duì)象的模板,在一個(gè)類中定義了該類對(duì)象所具有的成員變量以及方法。
類可以看成是靜態(tài)屬性(實(shí)例變量)和動(dòng)態(tài)屬性(方法)的集合體。
IOS SDK里面提供了大量供編程人員使用的類,編程人員也可以定義自己的類。