iOS学习项目(11-QQ聊天)
来源:互联网 发布:耶路撒冷 知乎 编辑:程序博客网 时间:2024/05/16 09:37
①枚举类型的命名规范
枚举类型名:类名+属性
枚举属性名:类名+属性+作用
举例:
enum CZMessageType {
CZMessageTypeSelf = 0,
CZMessageTypeOther
}
typedef enum CZMessageType CZMessageType;
---------------
上述枚举类型的简写
typedef enum {
CZMessageTypeSelf = 0,
CZMessageTypeOther
} CZMessageType;
(type + 数据类型 + 新的命名)
② MAX(a, b) 该宏定义用于比较两个数值的大写
【备注:宏的命名规范是要大写】
③ tableView的allowSelection属性表示tableView是否可以进行选择
④拉伸图片
[image stretchableImageWithLeftCapWidth:topCapHeight:]
参数一:左边不拉伸区域
参数二:上边不拉伸区域
其内部本质上是使用了resizableImageWithCapInsets:方法和capInsets属性
备注:【此处为自动计算】
右边不拉伸区域:图片宽度-左边不拉伸区域-1
下边不拉伸区域:图片高度-上边不拉伸区域-1
⑤通知机制
假设有牛奶商和买家两种角色
牛奶商:通知发布者
买家:通知接收者
关系:牛奶商与买家之间存在着订购和派送牛奶的关系
1 addObserver:selector:name:object: 此行为是买家行为,表示订购牛奶
observer:指接收者(买家)
object:发布者(牛奶商,为nil时,表示所有发布的人都可以)
2 postNotification:name:object 此行为是牛奶商行为,表示派发牛奶行为
object:发布者(牛奶商)
一旦产生了订阅的行为,则记得需要退订
removeObserver: 【记住:如果不退订可能会产生野指针的问题】
⑥通知与代理之间的区别
相同点:完成对象间的通信
不同点: 代理:1对1
通知:多对多
- iOS学习项目(11-QQ聊天)
- iOS项目实例:QQ聊天界面UI搭建
- iOS开发脚踏实地学习day08-QQ聊天界面
- 仿QQ聊天项目(二)
- iOS应用拉起QQ聊天
- iOS跳转QQ聊天应用
- iOS学习项目(20-QQ界面主流框架)
- qq项目第三天(客户端通讯,可以互相聊天)
- 学习iOS上QQ的聊天数据库(值得学习和收藏)
- QQ项目之六聊天窗口
- Java通信-仿QQ聊天项目
- Android iOS 跳转到qq聊天页面
- ios在应用中调起qq聊天
- iOS 打开指定的QQ聊天界面
- QQ聊天对白(爆笑转贴)
- iOS学习项目(12-静态单元格、13-QQ好友列表)
- qq聊天
- QQ聊天
- ubuntu14部署ceph10.2版本
- 如何在自定义view确定你点击的位置位于哪个小的子视图
- Linux 中的防火墙 端口记录
- Minimum Depth of Binary Tree
- 安tomcat在linux上
- iOS学习项目(11-QQ聊天)
- Apache 本地配置多个虚拟站点
- EasyDarwin接入ffmpeg实现264转图片快照功能
- java网络编程:RandomAccessFile, URLConnection和多线程机制实现了Http下载
- 图广搜。。深搜自行改编。。。
- 他山之石之用RecyclerView来展示图片,替换GridView和Gallery
- CSS3圆角圆边 支持IE6-IE8浏览器
- 宅米技术推动应用架构与人员组织架构发展
- 关于pptpd log日志文件的配置