For Want Of A Better Word

【とりあえず動いた…】IOS7+Xcode開発_TODOアプリ_作成メモ(3)【しかし詳細画面がない】

      2015/04/18

3/3でついにTODO完成だぜ!
http://dev.classmethod.jp/smartphone/iphone/introduction-to-storyboarding-5/

やっているのは参考サイト通りなので割愛。
しかし、まだ理解せず触っているな…..

もう一回作るか…

メモ

unrecognized selector sent to instance XXX

最後の実行時にエラー発生。

unrecognized selector sent to instance XXX

下記を参考にしたけれど、、いまいち分からず。

アプリがクラッシュしちゃった。さて、どうしましょう- Part 1 | Ray Wenderlich

ただ上記リンクはデバッグの基本的なやり方を書いており、大変参考になる。

んで、結局ボタンとメソッドの紐付がうまくいってなかった模様。
(エディターで見た時メソッドの左の点が白くなってた。)
修正したいメソッドを消して、再度{Ctrl+ドラッグアンドドロップ}でボタンから引っ張ってきて定義し、処理を書いたらうまく行った。

“左の点”の名称が分からんし、なぜそうなったのかもよく分からない。。
まずよし・

デリゲート(委譲)の書き方

大体こんな感じ?

  • ①通知元のクラスのヘッダーファイルにデリゲートの宣言を記述。しかも「@protocol」「@property」「@protocol メソッド @end」と3か所ぐらいに書かないといけない。
  • ②通知先のクラスのメソッドファイルで先のヘッダーファイルをインクルードし実装を記述。
  • ③通知先、通知元の間のセグエで identifierを指定して、preparesegueメソッドで、通知先のオブジェクトを通知元に渡すように設定する。
  • ④アクション元の部品(今回はsave,cancelボタン)から、自分のクラスにIBActionのメソッドを追加して、上記デリゲートメソッドを実行するよう処理を記述。
    • 引数はここで取得しデリゲート先に渡す。
@protocolってなんだ

逆引きObjective-C for iPhoneアプリ – プロトコルの宣言と採用

プロトコルはある目的のために必要となるメソッドの定義をまとめたものです.(JavaやC#のインターフェースと同じです.)

Objective-c的にはそうなんだろうけど、iOSでのヘッダーファイルの書き方になんか違和感。。

ヘッダーファイルに「@protocol」って何回も出てくるし、

@protpcol プロトコル名 <型名>

みたいな記述も出てくるし。。

保留..

こいつは惜しいかも。
[iOS] Protocol – Delegateパターン | Objective-C イベント伝達 その1 « きんくまデザイン

@property(weak, nonatomic)

https://gist.github.com/uneco/1358266Objective-C における @property と @synthesize の簡単な説明

@property は規則付きの getter, setter を生成するための定義。ヘッダーで@propertyで宣言し、メソッドファイルで@synthesizeを書き込むことで、自動でgetter,setterを動かしてくれる。

例)

identifierってなんだ??

セグエの所で設定したけど…. まあセグエのIDと考えておけばいいか。
コード中は他にIdentifierというのは出てこないので、あくまでsegueのものと考えておこう。

….

 - ios, objective-c, xcode

  関連記事

objective-c
【( TДT)】【Objective-C】implicit conversion of int to id is disallowed with arc

intはオブジェクトじゃないからdictionaryやarrayに入れられないよ …

objective-c
【iOS_Xcode5】 Mastere-Detailテンプレートの要素追加の処理を追う

テンプレートを作った時デフォルトで「+」を押した時に時刻の行が追加されて、詳細に …

no image
【Xcode5】ストーリーボードを表示している時に表示範囲を移動したい、特に横

イライラした!!上下はマウススクロールでいいんだけど。。 わかった! 「Cmd …

objective-c
IBoutletとIBaction、その違い

埋もれていたので抽出 IBOutletとは、パーツ自体をプログラムで定義した変数 …

no image
【ios+xcode】SQLite用クライアント LitaのダウンロードURL

こことか iOS で SQLite – FMDB &# …