1

私はO'Reillyの本LearningCocoawith Objective-C3rdeditionを読んでいます。

O'ReillyのWebサイトには、この特定の本のフォーラムがなく、このエラーを検索しても何も返されません。

18ページで、次のエラーが発生し続けます。

"No visible @interface for 'UIAlertView' declares the selector 'initWithTitle:message:deluge:cancelButtonTitle:otherButton'"

これが私のコードです:

//
//  ViewController.m
//  HelloCocoa
//
//  Created by ME on 1/14/13.
//  Copyright (c) 2013 ME. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@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.
}

- (IBAction)showAlert:(id)sender
{
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Hello!"
                                                    message:@"Hello, World!"
                                                   delegate:nil
                                          cancelButtonTitle:@"Close"
                                           otherButtonTitle:nil];
    [alert show];
    [_helloButton setTitle:@"I was Clicked!" forState:UIControlStateNormal];
}
@end



//
//  ViewController.h
//  HelloCocoa
//
//  Created by ME on 1/14/13.
//  Copyright (c) 2013 Andrew DiNatale. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIView *helloButton;
- (IBAction)showAlert:(id)sender;
@end

このエラーの原因は何ですか?

4

3 に答える 3

4

otherButtonTitlesパラメータは複数形です ( のように) otherButtonTitle*s*

于 2013-01-18T02:49:33.270 に答える
0

UIAlertViewはUIKit(iOS)クラスです。CocoaTouchの代わりにCocoaプロジェクトで使用しようとしているようです。

于 2013-01-18T02:33:23.153 に答える
0

私はこの本の著者の一人です。

この質問はすでに正しく回答されていますが、私はただ参加したかっただけです - CodaFi からの回答は正しいです。問題は、メソッドが「otherButtonTitle」ではなく「otherButtonTitles」(s 付き) で終了することでした。

本の 18 ページを再確認したところ、実際には本の内容が正しかったようです。

この本について他に質問がある場合は、ここに投稿してください。私はその本について言及している質問を探してあちこち動き回っています。エラッタはいつでも大歓迎です!

于 2013-03-10T06:53:11.137 に答える