• ベストアンサー

Objective-cのextendedって,,?

現在iPhone用アプリケーション開発の為、Objective-cの学習をしています。 その中で、UIAlertViewクラスのオブジェクトにテキストボックスを追加する方法を探していまして、見つけたソースコードの中のヘッダーファイルに @interface UIAlertView (extended) という記述がありました。 この(extended)とはどういう意味なのでしょうか? 分かる方居ましたら教えていただけるとうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#97363
noname#97363
回答No.1

それは "カテゴリ" です。 UIAlertView というApple謹製のクラスに対して、外部のプログラマが勝手にメソッドを増やしているわけ。 Obj-Cの変態的特徴の一つで、使いこなすと非常に便利ですよ。

Kasukiano
質問者

お礼

そうだったんですか! 確かにソースの解説の中に非公式のメソッドを使用していると書いてありました。。 解答ありがとうございました! (お礼が遅くなり、申し訳ありません)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • objective-c main関数について

    私はobjective-cを用いてiPhone用アプリケーションを自主的に開発していますが、main.mのmain関数の中身がいまいち分かりません。 もししっかり分かる方が居ましたら教えていただけるとうれしいです。 私はプログラミング歴半年とちょっとのほぼ初心者です。 以下がソースコードです int main(int argc, char *argv[]) { NSAutoreleasePool * pool

  • Objective-C 勉強方法をお願い致します。

    iPhoneアプリケーションを開発したいと思います。 Xcodeなどは既に入手しており、開発するばかりの状態です。 皆様がObjective-C言語を開発するときは、何を参考にしましたか? おすすめの書籍、URLなどを教えてください。 皆様の御回答をお待ちしております。 宜しくお願いいたします。

  • Swift,Objective-Cのselecto

    現在、Swiftでアプリを作成しているプログラミング初心者です。selectorについて、サルでも解るレベルで、具体例を交えて教えて頂けないでしょうか。 ソースコードも是非、ご提示頂ければ助かるのですが、Objective-Cは未学習です。クラス、メソッド、引数などの基本的な意味、構文などは理解しています。

    • ベストアンサー
    • Swift
  • iPhone SDK・Xcode・Objective-cでのプロジェク

    iPhone SDK・Xcode・Objective-cでのプロジェクト共通定数クラスの定義について はじめて質問させていただきます。内容に不足あればすぐ修正しますのでご指摘ください。 当方iPhone SDK・Xcode・Objective-cを利用してアプリ開発をしています。 経験はCが我流で10年ほど、仕事ではjavaをメインに使っております。 それでアプリケーション全体から参照する定数を定義したいのですが使い勝手がいまひとつでして皆さんにご教示願いたい次第です。 javaではAppConst.javaというクラスファイルを作ってpublic const int NUMBER_ROW = 1と書き、 あとは使う側でその定数クラスをインクルードしておけば、AppConst.NUMBER_ROWという風に呼び出せたかと思います。(社内のフレームワークのおかげかもしれませんが…) Objective-cでも同様にしようと以下のように定数クラス AppConstを作りました。 #import <Foundation/Foundation.h> @interface AppConst : NSObject { NSInteger NUMBEROFFONT; } @property (nonatomic, assign) NSInteger NUMBEROFFONT; -------- #import "AppConst.h" @implementation AppConst @synthesize NUMBEROFFONT; -(id) init { self = [super init]; if (self != nil) { NUMBEROFFONT = 5; } return (self); } @end しかしこのクラスですと、参照側でインクルードするだけではなく、定数クラスのインスタンスを作らないと定数にアクセスできません。 #import "AppConst.h" (NSInteger) testMethod { AppConst *appConst = [[[AppConst alloc] init] autorelease]; return appConst.NUMBEROFFONT; } 使う度にインスタンスを作るのは面倒ですしメモリとしてもよくないように感じます。 もっと賢いやりかたがあればよろしくご教示のほどお願いします。

  • objective-cのエラーについて。

    私はiPhoneのネイティブアプリケーション開発の為にObjective-cを使用しております。 分からないエラーが出て困っていたので、こちらに投稿いたしました。 内容は以下の通りです。 ×Command/Developer/...〜.../gcc-4.0 failed with exit code 1  duplicate symbol _y in/Users/...〜.../NormalViewController.o ※MainViewController.hMainViewController.mという、UIViewController Sub Classファイルがあります。このファイルに何か以上があるのではないかと考えていました。 コード自体にはエラーはありません。 ,,このエラーなのですがお分かりの方がいらっしゃいましたらお願いします。ちなみに私は趣味での勉強程度しかプログラミング知識はありません。

  • [objective-C]配列について

    はじめまして。 objective-C、cocos2dについての質問です。 iPhoneアプリを勉強しながら作り始めたのですが詰まってしまい、できればご助力をお願いしたいと思い質問させていただきました。 cocos2dというフレームワークを使用し簡単なRPGを作りたいと考えております。 そこでキャラクターのステータスを配列に格納し、どのシーンからも参照したいのですが、どうしてもうまくいきません。 別クラスでインスタンス変数を作り、それを利用して配列を作成する方法で実装しようとしており、実際のコードは以下の通りになります。 ---------------------------------- <Character.h> @interface Character : NSObject{ NSInteger characterStateAtk_; ・(Def、Hpなど) ・ } @property (nonatomic, assign) NSInteger characterStateAtk;  ・  ・ @end <Character.m> #import "Character.h" @implementation Character @synthesize characterStateAtk = characterStateAtk_;  ・  ・ @end キャラクターステータス生成部分 <CreateScene.h> @interface CreateScene : CCScene { NSMutableArray* characterStateArray_; } @property (nonatomic, assign) NSMutableArray *characterStateArray; @end <CreateScene.m> @interface CreateScene() - (void) pressReloadButton:(id)sender; - (void) createCharacterState; @end @implementation CreateScene @synthesize characterStateArray = characterStateArray_; - (void) dealloc{ [self.characterStateArray release]; [super dealloc]; } - (void) createCharacterState{ self.characterStateArray = [NSMutableArray array]; Character* priState = [[[Character alloc]init] autorelease]; priState.characterStateAtk = random() % 5 + 5; ・ ・ [self.characterStateArray addObject:priState]; } (その他の処理) - (void) pressReloadButton:(id)sender{ [self createCharacterState];  (ここでcharacterStateArrayを取得して表示したい) } ---------------------------------- 最初は、 NSInteger x; x = [[self.characterStateArray objectAtIndex:0]intValue]; で取得しようとしたのですがエラーとなり実行できませんでした。 (調べていくうちにobjective-Cでは配列の中身はオブジェクトしか使えないという事を知りました) プログラム中の(ここでcharacterStateArrayを取得して表示したい)の部分について、実装方法や考え方についてご助言をいただけないでしょうか? よろしくお願いいたします。

  • Objective-C error = 24

    iPhoneのアプリ開発に関する質問です UIButtonやUIImageViewを組み合わせてアプリを作成したのですが シュミレーターで実行した際、UIButtonをアニメーションで 表示させたりAVAudioPlayerでcafを再生させたりと処理を繰り返していると error = 24 (Too many open files) というエラーが発生して途中で音声が再生されなくなります エラーの内容は調べたところによるとファイルがオープンしたままで閉じていない 開きすぎている。といった状態です ソースコードを載せないと解決方法が分かりづらいかもしれませんが オープンしたUIButtonなどを閉じるにはどういったコードをどのクラスに書けばよいのでしょうか?

  • Visual C++のアプリケーションクラス

    void CDlgTestApp::OnAppExit() { // TODO: ここにコマンド ハンドラ コードを追加します。 CDialog endDialog(IDD_DLG_EXIT); // CEndDlgの基本クラスを初期化 if(endDialog.DoModal()==IDOK){ CWinApp::OnAppExit(); // 基本クラスの公開メンバー関数(このアプリケーション自体がCWinAppクラスの派生クラスのオブジェクト(theApp)) } } 「アプリケーションを終了しますか?」というダイアログのOKボタン(OKかキャンセルボタン)を押したときに、アプリケーションを終了させたいのですが、↑をDlgTestというアプリケーションのアプリケーションクラスのコマンドハンドラとして記述したところ、ちゃんとした動作(アプリの終了)をしています。 ここで質問ですが、 (1)CEndDlgという、ダイアログクラスがありながら、なぜわざわざ、その基本クラスのCDialogクラスのオブジェクトを作成しているのか。CEndDlg endDialog(IDD_DLG_EXIT); じゃだめなのか。 (2) CDlgTestAppというクラスののコマンド(イベント)ハンドラのなかで、その基本クラスのCWinApp::OnAppExit(); と、コードしているのか。こう記述しないとアプリそのものを終了させることは できないのでしょうか。 その2点がわかりません。(ちなみに上のコードはテキストを参照したのですが) ご回答、どうぞよろしくお願いします。

  • [Objective-C]アニメーション

    Xcode 4.5.2を使用して、Objective-CでiPhoneアプリの開発を行っています。 UIView(viewAとします)のsubViewとして 3つのUIButton(btn1, btn2, btn3とします)を配置し、 「animateWithDuration:delay:options:animations:completion:」メソッドを使用して viewAごと移動させるアニメーションを実行しようとしています。 btn1~btn3のタップイベントを実装したいのですが アニメーション実行中はbtn1~btn3のタップイベントが受け付けられません。 「animateWithDuration:delay:options:animations:completion:」メソッドの「option:」に 「UIViewAnimationOptionAllowUserInteraction」を指定してみたのですが それでもだめです。 原因が分かる方、いらっしゃいましたら教えていただけないでしょうか? 初歩的な質問で申し訳ありません。。 (ソース) ※画面はstoryboardで作成しています。 //アニメーション設定 [UIView animateWithDuration:5.0f delay:0.5 options:UIViewAnimationOptionCurveLinear |UIViewAnimationOptionAllowUserInteraction animations:^{ //移動 [self.viewA setFrame:CGRectMake(0, 330, 320, 60)]; } completion:^(BOOL finished) { //処理 } ];

  • objective-C(Xcode)に関して質問があります。

    objective-C(Xcode)に関して質問があります。 新規プロジェクトからview-base Applicationテンプレートを使用してプロジェクト(TestClass.xcodeproj)を作成します。 そうすると、TestClassAppDelegate.m, TestClassAppDelegate.h, TestClassViewController.h, TestClassViewController.mが Classesフォルダーに作成されます。このプロジェクトに自分で作成するクラス(MyTestClass)を追加するにはどうすれば良いのでしょうか? 下記のコードではエラーはでませんが、tc.counterにint 10が代入さず、0(nil)が出力されます。 (interfacebuilder でボタンのみ設置、ボタンを押すとpushが呼ばれ、logを残す) ===MyTestClass.h===== #import <Foundation/Foundation.h> @interface TestClass : NSObject { int counter; } @property int counter; @end ===MyTestClass.m===== #import "TestClass.h" @implementation TestClass @synthesize counter; -(int)calcPlus{ return counter = counter+10; } @end ===TestClassViewController.h==== #import <UIKit/UIKit.h> #import "TestClass.h" @interface TestClassViewController : UIViewController { TestClass *tc; } -(IBAction) push; -(void)calc; @end ===TestClassViewController.m=== #import "TestClassViewController.h" #import "TestClass.h" @implementation TestClassViewController -(IBAction)push{ tc.counter = 10; NSLog(@"%d", tc.counter); } サンプルコード(iPhoneUnitTests ((calc)))をみても、特別なことはなく、ヘッダーの読み込みさえ出来てれば クラスが使えそうなのですが・・・。 コメントをいただければ、幸いです。