j_m*_*lly 10 cocoa-touch objective-c uitableview ios
我总是看到UITableViewController申报的样板
static NSString *CellIdentifier
Run Code Online (Sandbox Code Playgroud)
在
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
静电为什么?我在很多地方改变了这个,因为我CellIdentifier根据这个部分进行了更改?这是静态背后的原因吗?我会影响表现吗?
mem*_*ons 21
cellForRowAtIndexPath:被召唤了很多.无论何时你有一个在很短的时间内反复调用的方法,你想要最小化等待自动释放的对象的数量,因为这些对象将被保留在堆栈中,直到 - 至少 - 下一个循环.使用静态字符串可确保只创建一次字符串对象,而不是每次调用该方法.
这并非严格必要,但是当您在移动设备上拥有有限的内存量时,您希望尽可能优化在短时间内创建的对象数量.