暑期第三周总结

本周任务

1.完成第二周share的聊天界面
2.完成学生管理系统
3.学习block传值、KVO传值、通知传值、以及懒加载

遇到的问题

聊天界面

  1. 聊天框的框的大小随着文字长度进行变化:
    一开始没有思路,后来找学姐的博客,然后看到,原来有一个“方法”:
    boundingRectWithSize: options: attributes: context:用于计算自适应高度
    NSDictionary *attri = @{NSFontAttributeName:[UIFont systemFontOfSize:18]}; 调整字典中的文字大小
    2.不会在UITableView最后插入行
    insertRowsAtIndexPaths: withRowAnimation:
    在索引路径处插入行

学生管理系统

1.传值的问题,特别奇葩,我一直从前往后传是“=”,然后往前传用的是协议传值,写完后在练习另外集中传值方式时,发现往回传也可以,找了半天的问题,最后还是求助了组长。原因如下:
用这两行代码时:

@property (nonatomic, strong) NSMutableArray* studentArray;
-------------------------------------------------------------
change.studentArray = _studentArray;

其实是把数组的首地址传到了后一个界面,后一个界面操作都是在对这个数组操作,而不是一个新的数组,所以不需要再传回来。
如果当练习传值时可以这样写:

@property (nonatomic, copy) NSMutableArray* studentArray;
-------------------------------------------------------------
sort.studentArray = [NSMutableArray arrayWithArray: _studentArray];

这种情况下就是两个不一样的首地址了,但是这里还有一个问题,那就是打印出地址:
请添加图片描述
会发现除了首地址不同,里面每个对象的地址还是相同的,这就是把相同的对象的地址放到了不同的数组中,所以当你修改这个数组里的对象的属性可以不需要从后往前传值,但是如果要是要新加或者删除等操作就需要传回来。

2.点击“exit”退出app

-(void) pressToExit {
    
    
    [[UIApplication sharedApplication]
     performSelector:@selector(suspend)];
}

总的来说这个其实很简单,主要是就是在传值。

传值的三种方法及懒加载

【iOS开发】——KVO传值
【iOS开发】——通知传值
【iOS开发】——block传值
【iOS开发】——懒加载

GitHub 地址

github

Guess you like

Origin blog.csdn.net/weixin_50990189/article/details/119418517