xcode 4.2目标c中的警告
Posted
技术标签:
【中文标题】xcode 4.2目标c中的警告【英文标题】:warnings in xcode 4.2 objective c 【发布时间】:2012-01-24 11:25:20 【问题描述】:我创建了一个 iPad 应用程序,我在其中从 URL 获取数据,
当我编写此代码时,它会向我显示此警告initWithContentsOfURL is deprecated
这里是代码sn-p,
NSString *mainstr;
NSURL *urlr=[NSURL URLWithString:@"http://abc.com/default.aspx?id=G"];
NSURLRequest *reqr=[NSURLRequest requestWithURL:urlr];
[webViewq loadRequest:reqr];
mainstr=[[NSMutableString alloc]initWithContentsOfURL:urlr];
在 tableView 中它也会向我显示这个警告,initWithFrame:reuseIdentifier: is deprecated
这里是代码 sn-p,我在其中每行创建一个标签
static NSString *CellIdentifier=@"Cell";
if(cell == nil)
cell=[[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease];
CGRect frame;
frame.origin.x = 0;
frame.origin.y = 0;
frame.size.height = 40;
frame.size.width = 180;
UILabel *capitalLabelI = [[UILabel alloc] initWithFrame:frame];
capitalLabelI.tag = CapitalTag;
capitalLabelI.font=[UIFont systemFontOfSize:16.0];
capitalLabelI.text=[@" " stringByAppendingString:[a objectAtIndex:indexPath.row]];
return cell;
当我调用多个参数化方法时,它会向我显示此警告,
方法名:
-(void)recentquote:(NSString *)sym:(int)i
调用语法:
[self recentquote:l3:i];
警告:
Instance method '-recentquote::' not found (return type default to 'id')'
帮帮我!!
提前致谢!
【问题讨论】:
如果您给定的 URL 是实时的,那么请将其删除并放入演示 url... 【参考方案1】:而不是
initWithContentsOfURL
使用:
initWithContentsOfFile:encoding:error:
或
initWithContentsOfFile:usedEncoding:error:
而不是
initWithFrame:reuseIdentifier:
使用:
initWithStyle:reuseIdentifier:
你应该更改以下声明:
-(void)recentquote:(NSString *)sym:(int)i
到:
-(void)recentquote:(NSString *)sym someArg:(int)i
看来您对 Objective-c 和 iPad 开发真的很陌生,我强烈建议您阅读:https://***.com/questions/332039/getting-started-with-iphone-development
【讨论】:
【参考方案2】:调用语法应该是
[self recentquote:l3 :i];
(注意中间的空格),我建议还是重命名你的函数。
当它说它已被弃用时,它只是意味着在未来的某个时间,Apple 可能会一起删除此方法,不再支持它。所以改变你的
cell = [[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease];
到
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier] autorelease];
Check the documentation for available style and what it means
编辑:
我建议改变它,也许是
- (void)recentQuote:(NSString *)quote withIndex:(int)index;
然后调用它使用
[self recentQuote:@"OK" withIndex:2];
【讨论】:
以上是关于xcode 4.2目标c中的警告的主要内容,如果未能解决你的问题,请参考以下文章
xcode 4.6 目标构建设置缺少“Apple LLVM 编译器 4.2 - ...”部分
使用 CocoaPods 时的 Xcode 12 部署目标警告
Xcode 中针对 iOS 7 部署目标的 LaunchImage 警告