@teddyfox

Проблемы с загрузкой URL в WevView при запуске приложения в Xcode?

Здравствуйте.

Я - новичок в Xcode. Работаю на Xcode 5.1.1. под Mac OS X 10.9.2. Хотел сделать простенькое мак-приложение для понимания того, как осуществляется загрузка URL в объект WebView после запуска приложения. Начитавшись различных источников (в основном - StackOverflow), предпринял десяток попыток, закончившиеся одним и тем же: после Build&Run окно приложения не появляется и выдаются сообщения об ошибках:
- signal SIGABRT, argc = 3 (of main())
- на консоли: *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (WebView)'
- libc++abi.dylib: terminating with uncaught exception of type NSException

Что я делал: создал в окне приложения объект WebView, создал outlet zzz (причем перетягивал как от AppDelegate к WebView, так и наоборот - есть разница?)

Код такой:
//  AppDelegate.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (retain, nonatomic) IBOutlet WebView *zzz;
@end


//  AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
 [self.zzz setMainFrameURL:@"http://www.google.com/"];
// пробовал также переместить этот код в awakeFromNib
}
@end


Пробовал также играться с кодом в applicationDidFinishLaunching/awakeFromNib:
NSString *urlAddress = @"http://www.google.com/";
  NSURL *url = [NSURL URLWithString:urlAddress];
  NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
  [[self.zzz mainFrame] loadRequest:requestObj];


но это то же самое (ИМХО), что и
[self.zzz setMainFrameURL:@"http://www.google.com/"];


В чем закавыка? Странно, что одна и та же ошибка! Или проблема в настройках системы/Xcode?
Спасибо.
  • Вопрос задан
  • 2657 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы