Я делаю эту функцию, которая принимает строковый ввод, преобразует его в int и находит двоичный эквивалент.Он работал час назад, но после того, как я попытался поработать с другой клавиатурой, а затем вернулся назад, он больше не работает:
- (void)convertToBinary:(NSString *)tf
{
NSString *result = @"";
NSLog(@"-- %@", tf); //successfully prints
[tf retain];
if ([tf isKindOfClass:[NSString class]]){
NSLog(@"tf is NSString"); //THIS PRINTS SO TF IS CONFIRMED TO BE NSSTRING
}
int dec = [tf intValue]; //BREAKS HERE...!
if (!dec){
[binaryOutput setText:@"Sorry, invalid input!"];
} else {
...
}
}
Я знаю, что для преобразования NSString в int мне просто нужносделать int dec = [someString intValue]
пока что не работает.Я получаю ошибку: EXEC_BAD_ACCESS
Любая помощь, пожалуйста?
РЕДАКТИРОВАТЬ
Я только что сделал небольшой проект командной строки:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSString *t = @"123";
int d = [t intValue];
NSLog(@"Hello, %@", d);
[pool drain];
return 0;
}
и EXEC_BAD_ACCESS по-прежнему сохраняется для такой простой программы!В чем здесь проблема?