предупреждения в xcode 4.2, цель c - PullRequest
0 голосов
/ 24 января 2012

я создал приложение для iPad, в котором я получаю данные из URL, когда я пишу этот код, он показывает мне это предупреждение initWithContentsOfURL is deprecated

вот фрагмент кода,

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

вот фрагмент кода, в котором я создаю одну метку внутри каждой строки

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')'

Помогите, ребята !!

Заранее спасибо !!

Ответы [ 2 ]

2 голосов
/ 24 января 2012

вместо

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://stackoverflow.com/questions/332039/getting-started-with-iphone-development

1 голос
/ 24 января 2012

синтаксис вызова должен быть

[self recentquote:l3 :i];

(обратите внимание на пробел между ними), я предлагаю переименовать вашу функцию в любом случае.

когда говорят, что она устарела, это просто означает некоторое времяв будущем Apple может удалить этот метод все вместе, он больше не поддерживается.Так что измените ваш

cell = [[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease];

на

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                            reuseIdentifier:CellIdentifier] autorelease];

Проверьте документацию для доступного стиля и что это значит

РЕДАКТИРОВАТЬ:

Я предлагаю изменить его, возможно, на

- (void)recentQuote:(NSString *)quote withIndex:(int)index; 

, а затем назвать его, используя

[self recentQuote:@"OK" withIndex:2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...