nil表示一个对象指针为空,针对对象
>示例代码:
NSString *someString = nil;
NSURL *someURL = nil;
id someObject = nil;
if (anotherObject == nil) // do something
Nil表示一个类指针为空,针对类
>示例代码:
Class someClass = Nil;
Class anotherClass = [NSString class];
NULL表示基本数据类型为空,基本类型
>示例代码:
int *pointerToInt = NULL;
char *pointerToChar = NULL;
struct TreeNode *rootNode = NULL;
NSNull:在集合对象中,表示空值的对象。
http://ios.itcast.cn/news/20141015/1633199713.shtml在这个网址有详细说的解释;
在我们经常在项目的开发中经常要判断两个的内容是否相同或是否为空。例如在我们有一个UITextfile中什么都没有写为空,这是一个特例;就是在框里什么都不写但是还是判断对象还是不为nil,是有些是特例的为它默认获得的是个字符串,你就算里面什么都不写他也是一个字符串。特殊情况的看api不然会陷入纠结中。
//------------------------------------------------------------------------
在今天的视频上学习UISlider,上面的导师在讲到UISlider的位置和大小的时候说UISlider它是有默认的高度的如果设置高度的时候是不起做的,然后我编写我想既然不起作用我就设为0 。在运行的的时候怎么都是拖不动的。后来我明白了是的自定义的高度是对UISlider这个控件是不起作用的,但是在你点击或触摸的时候的有这个控件最适的触摸高度(注:这个高度表示的是手指能够触摸的区域)总不能在任何位置可以拖得
如果在UISlider的对像中写入事件的时如果用到UIControlEventTouchDragOutside这个模式的事件时(注:它是当触摸在控件外拖动的时候触发)这时根据你自己设置的最适高度的,这时你的触摸必须在这个控件的外部才能触发这个事件,如果你设置的高度很大时很有可能你是看不到这个UIControlEventTouchDragOutside触发的事件的