人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

『初めてのiOSアプリケーション』というアップルのドキュメントを読んでいるのですが、次の部分がわかりません。わかりやすく教えて下さい。長文・図解ともに歓迎です。

接続を確立することは、ターゲットとしてView Controller、アクションとしてchangeGreeting:セレクタ、コントロールイベントとしてUIControlEventTouchUpInsideを指定して、ボタンのaddTarget:action:forControlEvents:を起動することと同等です。

https://developer.apple.com/jp/devcenter/ios/library/documentation/iPhone101.pdf
39ページ

●質問者: weed_7777
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● meefla
●50ポイント ベストアンサー

まず、期待されている回答(わかりやすい解説)ではない事をお断りしておきます。
ご満足いただけなければ、ポイントは不要です。

この手のドキュメントで日本語がわかりにくい場合、英語の翻訳が適切でない事があるので、英語版を探してみました。
Your First iOS App の翻訳と思われますが、英語版の方は Xcode 4.3 対応のために、2012年2月16日付けで改訂されています。
(日本語版の最終更新は、2011年10月12日)

このページの右上にある "PDF" のリンク
http://developer.apple.com/library/ios/documentation/iphone/conceptual/iPhone101/iPhone101.pdf
でダウンロードできる PDF 版で比較しますと、該当の部分は38ページの真ん中あたりで、

Next, you create connections between the view controller and the two remaining UI elements (that is, the label and the text field).

となっており、ご質問の段落が全部削除されています。

削除された理由を推測すると

  1. わかりにくい記述だった
  2. 重要ではない記述だった

のどちらか、あるいは両方であると考えられます。
従って、この部分にこだわるのは時間の無駄ではないでしょうか。

お役に立てることを祈りつつ。


weed_7777さんのコメント
なるほど・・・こんなアプローチがあるんですね。勉強になりました。

2 ● a-kuma3
●50ポイント

接続を確立することは、ターゲットとしてView Controller、アクションとしてchangeGreeting:セレクタ、コントロールイベントとしてUIControlEventTouchUpInsideを指定して、ボタンのaddTarget:action:forControlEvents:を起動することと同等です。

Xcode の画面での操作は、HelloWorldViewController クラスの viewDidLoad メソッドなどに、
以下のようなコードを追加したことになるんだと思います。

- (void)viewDidLoad {
 [super viewDidLoad];

 UIButton* button = ...
 [button addTarget:self action:@selector(changeGreeting:)
 forControlEvents:UIControlEventTouchUpInside];

}

※HelloWorldViewController のメソッドなので、self は View Controller を指す

元々、Xcode を知らなくて、ソースコードを書いてアプリを作ってる人には、
「ああ、なるほど」って感じで、Xcode が隠していることを理解する助けになるしょうけど、
初めて Xcode を使ってアプリを作る人には、どんなコードに相当するかなんて、
知らなくて良いことなので、改版の際に削除されたんじゃないでしょうか。

もしかすると、他の言語では「イベントハンドラを定義する」とかいう表現をするところで
Connection という、割りと一般的な単語を使ってしまったので、「create conection って書いたのはね...」
と、説明を入れておいた方が良いだろうか、と思ったのかもしれません。


weed_7777さんのコメント
すいません、ようやく何のことかおぼろげにわかりました。アドバイス有難うございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ