父子控件、static的作用

 控制器父子关系的建立原则

- 如果2个控制器的view是父子关系(不管是直接还是间接的父子关系),那么这2个控制器也应该为父子关系

[a.view addSubview:b.view];

[a addChildViewController:b];

// 或者

[a.view addSubview:otherView];

[otherView addSubbiew.b.view];

[a addChildViewController:b];


获得所有的子控制器

@property(nonatomic,readonly) NSArray *childViewControllers;

 添加一个子控制器

//XMGOneViewController成为了self的子控制器

//self成为了XMGOneViewController的父控制器

[self addChildViewController:[[XMGOneViewController alloc] init]];

// 通过addChildViewController添加的控制器都会存在于childViewControllers数组中

 获得父控制器

@property(nonatomic,readonly) UIViewController *parentViewController;

将一个控制器从它的父控制器中移除


// 控制器a从它的父控制器中移除

[a removeFromParentViewController];


static的作用:

- 修饰局部变量

* 让局部变量只初始化一次

* 局部变量在程序中只有一份内存

* 并不会改变局部变量的作用域,仅仅是改变了局部变量的生命周期(只到程序结束,这个局部变量才会销毁)

- 修饰全局变量

* 全局变量的作用域仅限于当前文件

实现拷贝的方法

- copy

- 只会产生不可变的副本对象(比如NSString)

- mutableCopy

- 只会产生可变的副本对象(比如NSMutableString)

UIScrollView内部子控件添加约束的注意点:

- 子控件的尺寸`不能通过UIScrollView`来计算,可以考虑通过以下方式计算

- 可以设置`固定值`(width==100,height==300)

- 可以相对于`UIScrollView以外的其他控件`来计算尺寸

- UIScrollView的`frame`应该通过`子控件以外的其他控件`来计算

- UIScrollView的`contentSize`通过子控件来计算

- 根据`子控件的尺寸`以及`子控件与UIScrollView之间的间距`

指针p的加减法运算

- 指针p + N

- p里面存储的地址值 + N * 指针所指向类型的占用字节数

- 指针p - N

- p里面存储的地址值 - N * 指针所指向类型的占用字节数

数组名

- 存储的是`数组首元素`的地址

- 等价于:一个指向`数组首元素`的指针

- `数组名 + 1` 的跨度:`数组首元素`的占用字节数

其他结论

- `&num + 1`的跨度:`num`的占用字节数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容