Здравствуйте.
Я - новичок в 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?
Спасибо.