0

私は自分のプロジェクトを他のプロジェクトと比較して、自分が間違っていることを確認しようとして、例を次々と試してきましたが、まだ答えを見つけていません。要するに、私がクラスでやろうとしているのは、UIWebView表示する URL を変更する 3 つのボタンで区切られたコントロールを持つことです。

ただし、アプリを実行すると、起動時にクラッシュし、次のコンソール出力が表示されます

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x7f969ab2dd80> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key appleWebView.'
*** First throw call stack:

以下は私のコードです:

ViewController.M

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *theScroller;
@property (weak, nonatomic) IBOutlet UISegmentedControl *appleSite1;
@property (weak, nonatomic) IBOutlet UIWebView *myWebView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    self.theScroller.contentSize = CGSizeMake(280, 1000.0);
}

- (IBAction)appleSite1:(UIButton *)sender
{
    NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://www.google.com"]];

    [self.myWebView loadRequest:[NSURLRequest requestWithURL:url]];
}


@end

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
//{
//    IBOutlet UIWebView myWebView;
//}
//

@end

欠けているものを正確に把握できるまで、1 つのサイト (ebay) でのみテストしています。明らかに私は学生であり、学んでいるので、ご容赦ください。

前もって感謝します。

4

1 に答える 1

0

あなたがすでに問題を解決しているかどうかはわかりません...

クラッシュは、UIWebView を appleWebView という名前のプロパティ (IBOutlet) にリンクしている Interface Builder が原因である可能性があります。appleWebViewに改名したと思いますmyWebView

これを修正するには、コントローラーの xib (またはストーリーボード) を開き、UIWebView を選択し、右側のパネルで接続インスペクターを開き、appleWebView へのリンクを削除します。

それが役に立てば幸い!

于 2014-12-13T16:23:13.280 に答える