iOS基础 类扩展

一、类扩展(class extension,匿名分类)

1.格式

@interface 类名 ()

{

    // 成员变量...

}

// 方法声明...

@end

 

2.作用

1> 写在.m文件中

2> 一般用来扩充私有成员变量、@property属性、方法等

 

二、随机数生成

1.arc4random() 会生成任意正整数和0

2.arc4random_uniform(100) 会生成0~99的整数(包括099

 

三、UIView常见方法

1.addSubview:(UIView *)child

添加子控件用(最新添加的子控件,会显示在最上面)

 

2.NSArray *subviews

通过addSubview:方法添加的子控件都会存在于这个数组中

 

3.removeFromSuperview

将控件本身从父控件中移除(控件本身也会从父控件的subviews数组中移除)

 

4.(UIView *)viewWithTag:(int)mytag

返回tag值为mytag的子控件

如果有多个子控件的tag一样,只会返回第一个匹配的子控件(在搜索tag匹配的控件时,也包含控件本身)

 

5.UIView *superview

父控件

 

四、xib的基本使用

1.可以认为xibnib是同义词

 

2.加载xib文件

[[NSBundle mainBundle] loadNibNamed:@"RowView" owner:nil options:nil];

// 加载RowView.xib文件,创建Objects下面的所有控件,并且按顺序装到数组中返回

 

3.storyboardxib的异同

1> 区别

* storyboard : 描述软件界面,大范围,重量级,比较适合描述整个软件的所有界面

* xib : 描述软件界面,小范围,轻量级,比较适合描述某个小界面(局部界面)

 

2> 相同点:本质都是转成代码

 

4.File's Owner的使用步骤

1> xib文件中设置File's Ownerclass属性(目的是在xib中能找到Owner的方法)

2> 建立File's Owner 跟 控件之间的联系

3> 利用代码加载xib,传递Owner参数(类型一定要匹配)

 

五、类的设计

将自己的内部设计封装起来,不让外界太关心内部的实现细节

 

 

 

01-联系人管理

1> 实现方式:纯代码

2> 实现功能:添加\删除一行、能获得每行的姓名

 

01-联系人管理 - 2

1> 实现方式:纯代码

2> 实现功能:添加\删除一行、能获得每行的姓名、每行都有个删除按钮

 

01-联系人管理 - 3

1> 实现方式:代码 + xib

2> 实现功能:添加\删除一行、能获得每行的姓名、每行都有个删除按钮(通过代码监听每行的删除按钮)

 

01-联系人管理 - 4

1> 实现方式:代码 + xib

2> 实现功能:添加\删除一行、能获得每行的姓名、每行都有个删除按钮(通过拖线监听每行的删除按钮,MJViewController监听按钮点击)

原文地址:https://www.cnblogs.com/monicaios/p/3496816.html