0

私はiOSでの開発に不慣れで、MacOSXCocoaアプリでアウトレットを作成して接続する方法に関するチュートリアルを正常に実行しました。しかし、iPhoneアプリで同じプロセスを実行しようとすると、壁にぶつかり続けます...(長い例についてはお詫びします-ご容赦ください)

プロジェクトA:

xCodeの場合:

  1. 新しいMacOSXCocoaアプリケーションを作成する
  2. 新しいクラスを作成する

    SimpleViewController : NSObject


#import <Cocoa/Cocoa.h>

@interface SimpleViewController : NSObject {
    IBOutlet NSTextField *aField;
    IBOutlet NSButton *aButton;
}

@end

Interface Builderの場合:

  1. ファイル>クラスファイルの読み取り
  2. SimpleViewControllerライブラリからmain.nibにドラッグ します
  3. Ctl-ドラッグし SimpleViewControllerて要素を表示し、コンセントを接続します

上記のすべてがうまく機能します。iPhoneアプリでも同じことが言えます。

プロジェクトB:

XCodeの場合:

  1. 新しいiPhoneOSウィンドウベースのアプリケーションを作成する
  2. 新しいクラスを作成する

    SimpleViewController : UIViewController


#import <UIKit/UIKit.h>
@class NSTextField;
@class NSButton;

@interface EmbedComplexViewController : UIViewController {
    IBOutlet NSTextField *aField;
    IBOutlet NSButton *aButton;
}

@end

(ビューコントローラーがの拡張であることに注意してくださいUIViewControllerNSObjectまた、今回はアウトレットクラスにフォワードクラス宣言を使用する必要があります。問題ありませんが、これは必要ですか?)

Interface Builderの場合:

  1. ファイル>クラスファイルの読み取り
  2. SimpleViewControllerライブラリからmain.nibにドラッグ します
  3. Ctl- SimpleViewControllertoview 要素にドラッグします-しかし、宣言されたアウトレットメンバー変数が表示されなくなりました。代わりに、私が持っている唯一のアウトレットオプションは「表示」です

宣言されたアウトレットを表示するには、さらに何をする必要がありますか?

ありがとう-ヤリン

4

1 に答える 1

1

iOS開発では、andなどを使用UIButtonしますUITextField(iphone開発者向けドキュメントを参照)。

いいえ、それらのクラスを前方宣言する必要はありません(UIKitに含まれていなかったために作成されました)

于 2010-08-26T16:52:57.927 に答える