我一直希望在这个link中了解收集视图一天。在此链接中,它有viewcontroller.h,.m
和CustomCollectionCell.h,.m
。
他们为什么要为该单元格创建单独的类?我们可以使用viewcontroller.m
文件来管理集合视图中的cell
。
ARC如何工作(保留周期,弱与强等),线程化(何时使用后台线程,何时使用main)。
答案 0 :(得分:1)
1.为什么他们为该单元格创建单独的类。我们可以使用viewcontroller.m文件来管理集合视图中的单元格。
答:关于现实生活,为什么我们有独立的学习室,客厅,卧室等等。每件事都有自己的范围。您可以将所有代码保存在一个文件中,但为了摆脱代码可重用性,模块化,在范围内它们创建了单独的类。2.如何ARC工作(保留周期,弱与强等),线程(何时使用后台线程,何时使用main)。
Ans:Arc基本上有助于自动管理内存。因此节省了开发时间。 保留周期:如果两个物体相互强烈地相互固定,则它们之间不会相互释放。例如:
想想这个setUp 你有一个属性
@property(nonatomic, strong)AViewControllerObj *aViewControllerObj;
@property(nonatomic, strong)NSString *nameString;
然后在你编写的代码中的某处
aViewControllerObj.nameString = self.nameString;
nameString
中的 aViewControllerObj
属性也是strong
。
因此,在这种情况下,您将使用strong
创建两个属性,因此它将创建一个保留周期。
解决它的变化
nameString
中的aViewControllerObj
属性为weak
。
MainThread与BackgroundThread: 在主线程中执行所有UIStuff。 您可以在后台线程中安排非ui内容。
您可以在我的回答中看到一些更有帮助的要点: helpful memory related points
希望它可以帮到你
答案 1 :(得分:0)
嗨这是为集合View单元创建单独的类的选择问题,您还可以在.m文件中创建自定义集合视图单元类
dequeueReusableCellWithReuseIdentifier:simpleTableIdentifier forIndexPath是UICollectionView的方法,与UITableView中的方法相同,此方法只是重用创建的单元格,通过此编译,每次滚动或更新集合视图中的数据时都不需要创建单元格,这使我们能够重用collectionView Cell。