问题描述
在我的项目中,我有一个Deprecations警告,initWithFrame:reuseIdentifier:已弃用
In my project i've got a Deprecations warning, initWithFrame : reuseIdentifier : is deprecated
我不知道它是什么意思,有人会告诉我怎么样解决此警告
谢谢
I don't know what it mean, could some one tell me how to resolve this warningthanks
这里是短代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
NSString *cellValue = [itemsList objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;
return cell;
}
并且警告在该行:
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
推荐答案
以便我们应该避免它们创建应用程序时。
因为我们需要长期项目,应该不会崩溃。
不推荐使用的方法意味着它已被替换/退役但在当前版本的语言中仍然有效。应该避免它,并可能导致问题/错误。查看应列出可以使用的替代方法的文档。
a deprecated method means it has been replaced/retired but is still valid in current version of the language. it should be avoided and can cause problems/errors. check the documentation which should list an alternative method you can use.
在这里你应该使用方法
- initWithStyle:reuseIdentifier:
然后你的if循环看起来像这样
Then your if loop would look like this
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier] autorelease];
}
这篇关于initWithFrame:reuseIdentifier:已弃用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!