iOS基础 - 类扩展
一、类扩展(class extension,匿名分类)
1.格式
@interface 类名 ()
{
// 成员变量...
}
// 方法声明...
@end
2.作用
1> 写在.m文件中
2> 一般用来扩充私有成员变量、@property属性、方法等
二、随机数生成
1.arc4random() 会生成任意正整数和0
2.arc4random_uniform(100) 会生成0~99的整数(包括0和99)
三、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.可以认为xib和nib是同义词
2.加载xib文件
[[NSBundle mainBundle] loadNibNamed:@"RowView" owner:nil options:nil];
// 加载RowView.xib文件,创建Objects下面的所有控件,并且按顺序装到数组中返回
3.storyboard和xib的异同
1> 区别
* storyboard : 描述软件界面,大范围,重量级,比较适合描述整个软件的所有界面
* xib : 描述软件界面,小范围,轻量级,比较适合描述某个小界面(局部界面)
2> 相同点:本质都是转成代码
4.File's Owner的使用步骤
1> 在xib文件中设置File's Owner的class属性(目的是在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监听按钮点击)
iOS基础 - 类扩展的更多相关文章
- IOS中 类扩展 xib
一.类扩展(class extension,匿名分类) .格式 @interface 类名 () { // 成员变量... } // 方法声明... @end .作用 > 写在.m文件中 > ...
- 【Demo 0007】Java基础-类扩展特性
本章学习要点: 1. 掌握static 修饰的类,方法以及变量的功能及用法; 2. 掌握代码块(静态,非静态)的作用以及注意事项: 3. 了解基本数据类 ...
- iOS 类别 类扩展 简要说明
- 关于iOS 类扩展Extension的进一步理解
很多人可能会问 iOS的分类和扩展的区别,网上很多的讲解,但是一般都是分类讲的多,而这也是我们平常比较常用的知识:但是,对于扩展,总觉得理解的朦朦胧胧,不够透彻. 这里就讲一下我自己的理解,但是这个 ...
- iOS中的分类(category)和类扩展(extension)
今天在研究swift的时候看到了分类和扩展.这是两个十分重要有用的功能,但是之前用的不多,没有深入了解过,在今天就从头理一遍. 一.分类(Category): 概念: 分类(Category)是OC中 ...
- iOS - 类扩展与分类的区别
类扩展 (Class Extension也有人称为匿名分类) 作用: 能为某个类附加额外的属性,成员变量,方法声明 一般的类扩展写到.m文件中 一般的私有属性写到类扩展 使用格式: @interfac ...
- iOS分类(category),类扩展(extension)—史上最全攻略
背景: 在大型项目,企业级开发中多人同时维护同一个类,此时程序员A因为某项需求只想给当前类currentClass添加一个方法newMethod,那该怎么办呢? 最简单粗暴的方式是把newMethod ...
- IOS中类的扩展(协议,分类)
IOS中类的扩展(协议,分类) 扩展类,我们可以使用协议和分类这两种方法,下面我们来分别实现这两种方法: 参考网址:http://www.cnblogs.com/wendingding/p/37095 ...
- iOS面试必备-iOS基础知识
近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内 ...
随机推荐
- ftp server来源分析20140602
ftp server学习位和源代码分析片 记录自己的第一个开源的分析过程: 从源代码:野狐灯(我接下来的几篇文章是从源头:野狐灯,每个以下哪项不是他们设置.) 20140602 Ftp的源码目录例如 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这 ...
- Java经典23创意模式设计模式(两)
本文介绍5其余两种创意模式:模型构建器(Builder).原型模型(PROTOTYPE). 一.建造者模式(别名:生成者模式) 将复杂对象的构建和它的表示分离,使得相同的构建过程能够创建不同的表示. ...
- 自己定义View之绘制圆环
一.RingView 自己定义的view,构造器必须重写,至于重写哪个方法,參考例如以下: ①假设须要改变View绘制的图像,那么须要重写OnDraw方法.(这也是最经常使用的重写方式.) ②假设须要 ...
- win7安装ruby on rails开发环境
前言 我们看到很多文章说ruby环境windows它是非常困难的基础上,这将是各种稀奇古怪的问题,因此,建议linux和mac发. 可是我依照教程搭了下,问题也不算太多.总过大概花费了2个半小时左右就 ...
- 收集整理的非常有用的PHP函数
原文:收集整理的非常有用的PHP函数 项目中经常会需要一些让人头疼的函数,作为开发者应该整理一个自己的函数库,在需要之时复制过来即可.本文作者收集整理数十个PHP项目中常用的函数,保证能正常运行,你只 ...
- Android 使用Gson解析json案例具体解释
一.眼下解析json有三种工具:org.json(Java经常使用的解析),fastjson(阿里巴巴project师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:h ...
- jQueryRotate 转盘抽奖代码实现
代码如下: 例子兼容IE6,7,8 以及高版本浏览器,如有bug请回复! 1.html结构 <!doctype html> <html lang="en"> ...
- SSIS中Sql Task 获取系统变量
原文:SSIS中Sql Task 获取系统变量 执行 SQL 任务使用不同的连接类型时,SQL 命令的语法使用不同的参数标记.例如,ADO.NET 连接管理器类型要求 SQL 命令使用格式为 @var ...
- 使用rem设计移动端自适应页面二(转载)
由于日常需求以无线居多,所以可以在业务中做一些尝试,如 rem,刚接触这个特性的时候,曾经一度爱不释手,仿佛在无线开发的坎坷路上寻找到一条捷径.然而随着使用范围的扩大,慢慢的发现了一些使用 rem 带 ...