2010-07-22 3 views
1

Проблема после я нажимаю 2 кнопок App падает, и я не могу понять, почемуВажное Вопрос о NSString

Button1 подключен к button1 Button2 подключен к button2 ... Button5 проводной to button5

Что я делаю неправильно?

В основном я хочу, чтобы проверить, если последовательность # 's пробита правильно (55235)

В моем файле AppDelegate.H я определил переменную

NSString * myEasterEgg;

В AppDelegate.M, у меня есть 5 кнопок, которые правильно проводными и каждая кнопка имеет свой собственный метод

-(IBAction)button1:(id)sender 
{ 
if(CFStringCompare((CFStringRef)myEasterEgg, (CFStringRef)@"52235", 1) == 0) 
{ 
myEasterEgg = @""; 
} else { 
myEasterEgg = [myEasterEgg stringByAppendingString:@"1"]; 
} 
} 

-(IBAction)button2:(id)sender 
{ 
if(CFStringCompare((CFStringRef)myEasterEgg, (CFStringRef)@"52235", 1) == 0) 
{ 
myEasterEgg = @""; 
} else { 
myEasterEgg = [myEasterEgg stringByAppendingString:@"2"]; 
} 
} 

-(IBAction)button3:(id)sender 
{ 
if(CFStringCompare((CFStringRef)myEasterEgg, (CFStringRef)@"52235", 1) == 0) 
{ 
myEasterEgg = @""; 
} else { 
myEasterEgg = [myEasterEgg stringByAppendingString:@"3"]; 
} 
} 

-(IBAction)button4:(id)sender 
{ 
if(CFStringCompare((CFStringRef)myEasterEgg, (CFStringRef)@"52235", 1) == 0) 
{ 
myEasterEgg = @""; 
} else { 
myEasterEgg = [myEasterEgg stringByAppendingString:@"4"]; 
} 
} 

-(IBAction)button5:(id)sender 
{ 
if(CFStringCompare((CFStringRef)myEasterEgg, (CFStringRef)@"52235", 1) == 0) 
{ 
myEasterEgg = @""; 
} else { 
myEasterEgg = [myEasterEgg stringByAppendingString:@"5"]; 
} 
} 

-(void)viewDidLoad 
{ 
myEasterEgg = [[NSString alloc] initWithString:@""]; 
} 
+0

Я получаю эту ошибку EXC_BAD_ACCESS и stringByAppendingString –

ответ

1

Вы протечки исходную строку, и заменяя их новыми значениями, не сохраняя их. Сбой происходит из-за того, что вы вызываете [myEasterEgg stringByAppendingString:…] на обвисший указатель, то есть на переменную, которая больше не ссылается ни на какой объект. См. Memory Management Programming Guide для получения дополнительной информации.

+0

Я нахожусь на работе, и когда я нажимаю эту ссылку, возникают проблемы с отображением HTML. Не могли бы вы рассказать мне, как я могу это исправить? –

+0

Получите новый браузер? – kperryua

+0

Я использую IE6, потому что нам не разрешено устанавливать настоящий браузер. –

Смежные вопросы