Я только новичок в разработке для iPhone, поэтому приношу свои извинения, если это глупый вопрос.Я создаю различные приложения на основе книги, которую читаю, и одним из их предложений было создание мини-веб-браузера.Я думал, что это будет легко, но в то время как большая часть этого есть, я серьезно борюсь с NSDictionary
.
У меня есть UISegmentedControl
, используемый для отображения различных закладок.Имя закладки, отображаемое на кнопках UISegmentedControl
, будет моим ключом, а URL - это значение, связанное с ним.
Сначала я пытаюсь объявить NSDictonary
как частное (глобальноепеременная), но так как я не мог заставить его работать, я прибег к объявлению его в моем заголовочном файле следующим образом:
@property (nonatomic, retain) NSDictionary *bookmarks;
Я синтезирую его и инициализирую в viewDidLoad следующим образом:
- (void)viewDidLoad
{
bookmarks = [NSDictionary
dictionaryWithObjectsAndKeys:@"http://www.microsoft.com",
@"Microsoft",
@"http://www.google.com",
@"Google",
@"http://www.apple.com",
@"Apple",
@"http://msdn.microsoft.com",
@"MSDN", nil];
[super viewDidLoad];
}
Затем я связал элемент управления с моим сегментированным элементом управления, и когда событие срабатывает и вызывается функция, я получаю следующий код, который называется:
- (IBAction) getShortcut:(id)sender
{
NSString *shortcut;
shortcut = [shortcuts titleForSegmentAtIndex:shortcuts.selectedSegmentIndex];
NSString *url = [bookmarks valueForKey:shortcut];
//[self navigateTo: url];
[url release];
}
Когда кнопка изпо нажатию UISegmentedControl
я извлекаю значение и сохраняю его в ярлык, а затем пытаюсь использовать переменную ярлыка в качестве ключа для извлечения связанного значения из NSDictionary
«закладок», но продолжает падать NSString *url = [bookmarks valueForKey:shortcut];
и бомбы выходят из моей функции и отображают обычную ошибку EXC_BAD_ACCESS
Любая помощь будет принята с благодарностью.
T.