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

objective cの文法について質問です。
http://www.appbank.net/2012/07/03/iphone-news/435776.php
このページの4/5あたりのコードについてなのですが
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
else{
NSError* error; // 追加
NSArray *statuses = [NSJSONSerialization JSONObjectWithData:responseData // 追加
options:NSJSONReadingMutableLeaves // 追加
error:&error]; // 追加
if(statuses){ // 追加
NSLog(@"%@", statuses); // 追加
}else{ // 追加
NSLog(@"%@", error); // 追加
} // 追加
}
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
error:&errorの部分の&はなんのためにあるんでしょうか?この&がどんな役割を持っているのかがわかりません。参考になるページだけでも紹介していただけると嬉しいです。プログラミングに関して質問するのは初めてなのでわかりにくい部分もあると思いますがよろしくお願いします(^_^;)

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

▽最新の回答へ

質問者から

この&はerrorのメモリーのアドレスを参照するためのものだいということは調べてわかりました。しかしなぜここでJSONobjectiWithDataメソッドにerrorのメモリーアドレスを渡す必要があるんでしょうか?


1 ● degucho
ベストアンサー

http://pokotsun.mydns.jp/?p=92
https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40010946-CH1-SW2
ダブルポインタ、ポインタのポインタ、などで検索すると出てきますが
関数実行後に戻り値(この場合はエラーメッセージ)を受け取るためです。
宣言時はNSError* error;でなにも入っていませんよね。
つけないで渡すと値渡しで一方通行になるのでアドレスを渡して
関数内で書き換えてもらうのです


ジェフさんのコメント
なるほど!理解出来ました!ありがとうございました。また機会がありましたらよろしくお願いします(・∀・)
関連質問

●質問をもっと探す●



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