OC仿写网易云时出现的问题

OC仿写网易云时出现的问题

第一次写demo,遇到了特别多的问题,同时也学到了很多东西,先看看仿写的网易云的界面。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

好了开始说我的问题:
1.代码规范问题,在写代码的过程中一定要好好注意代码规范问题,要不然不仅写出来很丑而且在检查的时候会很难,同时也可能会出现重复定义等问题,比如定义了两个相同的button,当我们引用的时候就会造成错误引用,比如你定义的是一个,引用的却是另一个,所以我们一定要注意代码规范问题!

2.关于cell的复用

首先我们必须知道的两种方法:注册和未注册

首先未注册的方法:

这个方法由于没有注册,所以在引用的时候会先判断cell是否为空,如果空则定义。根据它具有的独特的标识符来扫描

//尝试获得可以复用的单元格。但不一定获得到。得不到返回nil
    UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:@"yep"];
        
    //如果没有获得到
    if(cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"yep"];
    }

注册的方法就是系统会自动进行一个判空的过程,省去了我们去手动加条件判空的操作。

[self.tableView registerClass:[MyTableViewCell class] forCellReuseIdentifier:@"yep"];

MyTableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"yep" forIndexPath:indexPath];

另外我们一定要注意的是,尽量尽量千万不要把东西建在cell里边,要不然在复用的时候就会出现问题,经过学长学姐的指导,我衷心的建议大家把所有的button,scrollview等等都不要建在这个函数里面,记得在对应的.h文件中加相关的属性。

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

}

然后建好之后,当我们需要用的时候,直接进行引用就行了,这样写又简单又准确。

所以关于cell的用法真的很重要,大家一定要多练多写。

就是pushViewController的用法,这个的作用对象不能是自己,应该是你想转到哪个页面,哪个页面 就是作用对象。

总结

第一次写demo,写的真的很拉垮了,不找借口,希望接下来可以把基本的东西掌握扎实一点,然后多练,多写,感谢学长学姐的帮助,也希望所有人都可以加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值