Objective-cでtagプロパティを使う時のハマりどころ

2014年9月6日

Objective-C xcode

めっきり朝と夜が寒くなってきたけど、昼間はまだまだ灼熱と感じる下駄です。 最近の言語ではめずらしく、オブジェクトにプロパティが埋め込めないObjective-C言語ですが、 唯一発見した任意のプロパティがtagっちゅうやつで、int値のみいれられるみたい。 あまり使いドコロないかな?と思ってたけど、今作ってるブックリーダーアプリでは、各ページにページ番号を埋め込むなど、結構便利に使ってしまった。 そこでハマったのは、int値だと思ってたけどどうやらtagプロパティはNSIntegerの型だったという事。 エラーは出ないが、warningは出てしまう。 本当に困ったのは、型変換をどうやっていいか分からなかったという事。 最初はintValueを使ってみたが、エラーが取れない。 試しに、NSLogで表示してみると、 NSLog(@"%d",obj.tag); これもwarningでちゃう。%fも%@も%%も全てwarning。そもそもこれってどう扱えばいいの? と思ってたら、どうやら正解は、tag値を取り出すときに、intキャストするってことだけだったようだ。 int num = (int)obj.tag; という風にすればいいだけだったようだ。 結論は簡単だが、やはり奥が深い言語だ・・・ていうか不親切すぎねか?

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。