一、
1、self.edgesForExtendedLayout 如果是UIRectEdgeAll、UIRectEdgeTop我们注意到,纵坐标零点都是从屏幕最上面开始,要是换成UIRectEdgeNone则坐标原点从导航栏的下面开始
2、还有一点可以确定就是当我们把下面两个因素extendedLayoutIncludesOpaqueBars 和modalPresentationCaptureStatueBarAppearance都设为no时,我们注意到pad的零点是最上面的点,但是手机的iOS7的零点却是在导航栏下面。
3、关于赋值和加入元素的区别,我们如果仅仅是赋值 ,我们可以不需要进行初始化分配内存,也就是alloc和init等,但是如果要往里面加入元素,比如可变的数组mutableArray里面要加入另外一个元素,那我们得先给他alloc 和init才行(或者NSMutableArray *array),否则mutableArray是一个空值,我们不能加入。此外我们创建一个数组或者声明了一个数组,(NSMutableArray *mutableArray)和[[NSMutableArray alloc ] init]),如果我们给它进行赋值,在这里我们要特别注意,我们给他复制后看是不是一个空值,如果是空值我们就不要赋值,因为这样后我们再往里面加元素就不行了,尽管我们事先进行了初始化,初始化后是一个数组含有0 objects但是赋一个空值后,没有分配内存,这里面就不能加元素了,赋值是用一个指针指着一个值,而往里面加东西首先就要能加东西的地方才行,这个地方就可以认为被分配的内存。这是我个人简单理解,望指正。
NSMutableArray *array = [@[@"zhongguo",@"meiguo"]mutableCopy];
NSMutableDictionary *dic = [@{@1:@"中国",@2:@"美国"}mutableCopy]
这也是两种很常见的赋值方法
还有一点要注意,如果我们定义一个类,如果我们要给它的一个属性赋值,我们事先给这个类进行初始化,如果不初始化,它就是一个空值,就不能调用里面的属性,除非我们将整个该类对象赋值给它,例如FriendInfo是一个类,它有jid,name,group等属性,如果我们想给里面的一个属性赋值,我们必须先FriendInfo*object =[ [FriendInfo alloc ] init];
然后object.name = something,如果缺少上面的步骤,我们可能就会出现出现错误。当然不初始化我们可以直接将一个这样的对象赋值给他也是可行的。这和上面例举一样。
二、
运行模拟器的时候,按下command+shift+H,可以回到主页面