Я довольно новичок в программировании и задаче C, и мне трудно понять концепцию распределения, управления памятью и того, как они связаны с переменными экземпляра.Я создал категорию для NSString с именем isUrl, чтобы проверить префикс «http: // в строке».
Оттуда я хотел проверить это на строке. Однако, учитывая эту ситуацию, я не смогвыяснить, нужно ли мне: 1) объявить новую строку как переменную экземпляра с помощью @property для синтеза средств доступа 2) выделить новую строку в моей реализации 3) установить мою переменную и выделить ее
Что будетРазница между этими методами и почему я, возможно, хотел бы использовать один над другим? -
В качестве примечания, я работаю с книгой О'Рейли и пытался найти ответы в Интернете, нопока что мне не повезло. Кажется, я нашел примеры всего, но объяснить, как и почему они используются, сложнее.
1) NSString* string = [[[NSString alloc]init]autorelease];<br>
string = @ "http://www.google.com";
if ( [string isUrl]) {<br>
NSLog(@"Caption is a URL");<br>
NSLog(@"URL %@",string);<br>
string = nil;
2) NSString* string = @"http://www.googl.com";<br>
[string retain];<br>
if ( [string isUrl]) {<br>
NSLog(@"Caption is a URL");<br>
NSLog(@"URL %@",string);<br>
string = nil;
3) Примерно так ...
@synthesize string;<br>
string.name = "http://www.google.com";<br>
if ( [string.name isUrl]) {<br>
NSLog(@"Caption is a URL");<br>
NSLog(@"URL %@",string);<br>
string = nil;