タグ

2014年6月10日のブックマーク (3件)

  • Objective-Cのクラスの前方宣言がないと困ること | アールケー開発

    クラス名の前方宣言について質問をもらったので少しまとめます。 Objective-Cでクラス名を前方宣言したいときには「@class」文を使用します。例えば「MyObject」という名前のクラスであれば、次のように書きます。 [cc lang=”objc”] @class MyObject; [/cc] ヘッダファイルの中で、Objective-Cのクラスのインスタンスをメンバー変数にしたいときはクラスが存在することを知らなければいけません。このようなときに「#import」文をヘッダファイルに書いてクラスの宣言を読み込みます。例えば次のようなコードです。(このヘッダファイルを「MyObjectB.h」ファイルとします) [cc lang=”objc”] #import “Cocoa/Cocoa.h” #import “MyObject.h” @interface MyObjectB :

    Objective-Cのクラスの前方宣言がないと困ること | アールケー開発
  • [iOSアプリ開発] いまさら聞けないモダンな書き方 | DevelopersIO

    Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n

  • Objective-C デリゲートに関して

    最初、デリゲート(Delegate)とはObjective-Cまたは、iOS SDKの何か特別な機能のことだと思っていた。どうやらそう言うことでは無いらしく、単にプロトコルという機能を使ったオブジェクト間のやり取りの事を言うらしい。委任とか難しい言葉を使われると分からなくなる。 以下初心者の自分なりに噛み砕いてまとめてみた。 デリゲートとは あるオブジェクトAとオブジェクトBがある。 Aで起こったアクションに対し、Bで何かイベントを起こしたいとする。しかし、BはAでアクションが起こった事が分からない。そこでBにAでアクションが起こった事を知らせる方法を実装する。その結果、Aのアクションをトリガーにして、Bでイベントを起こせる様にする。このことをデリゲートと言うらしい。 デリゲートを使うには デリゲートを行う為にObjective-Cにあるプロトコルという機能を用いて、オブジェクトBにオブジ

    Objective-C デリゲートに関して