4.28
下午出了個(gè)問(wèn)題,音樂(lè)播放器滑動(dòng)時(shí)一直出問(wèn)題,不知道咋回事,過(guò)了零點(diǎn),才發(fā)現(xiàn)是我在模擬器上操作有問(wèn)題,真操蛋
5.02
有個(gè)子view的setFrame方法一直未調(diào)用,后來(lái)發(fā)現(xiàn)是沒(méi)有初始化
有個(gè)新問(wèn)題,封裝后的label顯示出現(xiàn)問(wèn)題
5.03
2016-05-04 01:29:24.897 Man-machine[5463:532182] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ChartMessage_Text copyWithZone:]: unrecognized selector sent to instance 0x7f88407e3e70’
晚上調(diào)試出現(xiàn)了這個(gè)問(wèn)題,久久不能解決,5.04凌晨才發(fā)現(xiàn)
@property (nonatomic, copy) ChartMessage_Text *chartMessage_Text;是這里寫(xiě)成了copy引起的,要改成@property (nonatomic, strong) ChartMessage_Text *chartMessage_Text;
5.04
自定義的cell和contentView一直出現(xiàn)渲染問(wèn)題,后來(lái)發(fā)現(xiàn)是重復(fù)渲染導(dǎo)致,原來(lái)開(kāi)始在contentView上添加控件的行為都寫(xiě)在contentView的重寫(xiě)setFrame方法里邊,這個(gè)方法調(diào)用了兩次,第一次調(diào)用在ChartCell_Huangli *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifer_huangli forIndexPath:indexPath];然后是-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;在這里創(chuàng)建了一遍子控件,而此時(shí)cell還沒(méi)有數(shù)據(jù),除了寫(xiě)死的數(shù)據(jù),label上就顯示null,第二次在cell.chartCellFrame_Huangli = self.cellFrames[indexPath.row];中得到數(shù)據(jù)就再次創(chuàng)建了一遍子控件,重復(fù)渲染重疊了。
后來(lái)改用在ChartContentView_Huangli的-(void)setChartMessage_Huangli:(ChartMessage_Huangli *)chartMessage_Huangli;方法中創(chuàng)建子控件,這里有出現(xiàn)了點(diǎn)小插曲,重寫(xiě)setter方法,忘記了寫(xiě)_chartMessage_Huangli = chartMessage_Huangli;這行代碼,導(dǎo)致獲取不到數(shù)據(jù),這是不應(yīng)該的,后來(lái)改正了,完全解決了問(wèn)題,perfect!
在這里總結(jié)一些教訓(xùn),就是看到問(wèn)題不要著急,一定要多試,從邏輯上找出問(wèn)題根源,然后要遵循邏輯規(guī)范解決問(wèn)題,可能要麻煩,但是能從根上解決問(wèn)題,而且可以學(xué)到很多東西。之前有時(shí)候是小聰明過(guò)多,用一些小技巧從表面上解決了問(wèn)題,但治標(biāo)不治本,而且對(duì)提升幫助較小,這點(diǎn)以后要注意。