• ベストアンサー

objective-cの変数結合について

毎度お世話になります。 objective-cでのループ処理を利用したオブジェクトと変数の結合方法が分からなくて質問する事にしました。 私の検索方法が悪いのか見つからなかったので・・ phpでループを利用した変数の結合をする場合だと、 for($i = 0; $i < 2; $i++){ echo "com".$i; } でcom0とcom1の表現が問題なくいけますが、 objective-cではどのようになるのでしょうか。 初級的な質問で申し訳ないのですが、どうかよろしくお願いします。

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

ごめん だいぶ勘違いしてたみたい。 obj に含まれる値を 名前生成で取り出すならできるよ。 ただし、スコープ内で新たに作ったのをそういう方法で取り出せないから注意ね。 @interface MyClass : NSObject {  NSString com1;  NSString com2; } @end [obj valueForKey:[NSString stringWithFormat:@"com%d",i] ]; そうじゃなくて生成やなんかも名前つけて値も入れてってやりたいなら NSMutableDictionary (いわゆる連想配列/ハッシュ)を使うべき。

barakamon
質問者

お礼

なるほど連想配列が使えるんですね、ありがとうございました!

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

fprintf() か NSLog() でできるんじゃない?

関連するQ&A

  • Objective-Cクラス変数インスタンス変数

    現在iPhoneアプリを作成するために、Objective-Cの勉強をしています。しかしそこでわからないことがあり、質問させていただきました。 それは私がインスタンス変数(メンバ変数)を宣言してつかっているつもりなのですが、クラス変数の様な動きをするのです。 具体的にコードで説明します。 @implementation Main : NSObject - (void)hello{ [[Hoge alloc]init]; [[Hoge alloc]init]; } @end @implementation Hoge : NSObject NSNumber *i; - (id)init{ [super init]; NSLog(@"%d",i.intvalue); i = [NSNumber numberWithInt:123]; return self; } @end 出力結果 null 123 今手元にソースがないので正確ではないかもしれませんが、こんな感じです。hファイルにはとくになにもかいてません。 このソースの動きはmainでHogeクラスのインスタンスを二回作成することによって、initを二回呼んでいます。 疑問点は出力結果の挙動が予想外なことです。私としてはインスタンス作成時のiは初期化されていないため、 出力結果 null null になるのを期待しています。しかし二回目のinitでは前回に作成した123というデータが引き継がれています。この挙動はiはインスタンス変数ではなく、クラス変数のようにみえます。 しかしObjective-Cではクラス変数は存在しないとどっかのサイトに書いていました。 以上が質問です。なにかお気づきになった点があればごかいとういただけると幸いです。

  • PHP4で、メンバ変数の値を忘れてしまう2

    PHP4での質問です。 前の質問がわかりにくかったので、書き直しました。 オブジェクト指向的にいかがなものかとは思いますが、オブジェクトのメンバ変数を直接外部から変更したいと思います。 ---------<a.php>---------- class myClass {   var member = 0; } ---------<b.php>---------- $ary_c = array(); for ($i=0; $i<10; $i++) {   $c = new myClass();   $c->member = 1;   echo "(1)c->member=".$c->member;   array_push($ary_c, $c); } foreach ($ary_c as $c) {   echo "(2)c->member=".$c->member; } ------------------------------ 以上の様なソースで、(1)のデバッグライトでは、メンバ変数memberの値は1であるのに、(2)のデバッグライトでは、0になってしまいます。 この原因がお分かりのかた、もしよろしければ知恵をお貸し下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • objective-Cについてご相談があります。

    objective-cを勉強しているのですが、 以下のメソッドの内容がいまいち分かりません。 どなたか解説して頂けないでしょうか・・・ ログを取ると、 「1:1   2:1」 、 「1:1  2:2」 といった感じで、2つ目の数値が、ボタンを押すたびに 増えていくのですが、この内容がどういった所に使われる のかが分かりません。 ------------------ここから--------------------------- // [変数]ボタン押下 - (IBAction)pushButton01:(id)sender { // 自動変数 auto int i01 = 0; // autoは普段省略されている i01++; // i01 = i01 + 1;と同義 NSLog(@"1:%d", i01); // 静的変数 static int i02 = 0;// どんどん増えていく i02++; NSLog(@"2:%d", i02); } --------------ここまで---------------------------- 以上、お手数ですが、何卒宜しくお願い致します。

  • PHPのsubstr関数をC++とObjective-C++に置き換え

    PHPのsubstr関数をC++とObjective-C++に置き換える方法 ・PHP $s = "abcdefg"; $t = substr($s, 3, 2); というPHPのソースから C++と Objective-C++に変更したいのですが どう記述すればよいのでしょうか? ・C++ char s[] = "abcdefg"; ??? ・Objective-C++ iOSは3.2です。 NSString *s = @"abcdefg"; ???

    • ベストアンサー
    • Mac
  • 変数名を変数で指定するのに$_POST[

    http://oshiete1.goo.ne.jp/qa2691790.html の#1さんに,変数名を変数で指定できることを教わりました. 下記の3行目のように,です. for ($i=1;$i<=5;++$i){ if (${"var".$i}=="") { ${"errMsg".$i}=$i."が未入力"; } } ここで, (1) $_POST["form"] には「str」という文字列が入っています. (2) $Var には「10」という数値が入っています. (3) これらを結合し, どうしても $_POST["str10"] みたいな変数を作らなければならないのですが, ・<? echo $_POST["str" . $Var]; ?>では何も起こらず. ・<? echo $_POST[{"str" . $Var}]; ?>などと{}で括っても, Parse error: parse error, unexpected '{', expecting ']' in C:\temp.php on line 10. みたいなエラーになります. どういうのが正しい書き方でしょうか?

    • 締切済み
    • PHP
  • PHP ループでの文字結合の流れ

    最近PHPの勉強を始めたばかりの 超初心者ですが 質問をさせていただきますの よろしくお願いいたします! 勉強しているテキストで「ループのなかで文字を結合する」 というサンプルがあります。 ---------------------------------------- <?php $i = 1; $zzz = ""; while ($i <= 5) { $zzz .= $i."回目"; $i++; } echo $zzz; ?> ---------------------------------------- 1回目2回目3回目4回目・・・が結果になります。 サンプルでは$zzz変数の値は””だけで何も入っていないようですが 適当な値、仮に「ooo」と入れてみると ooo1回目ooo2回目ooo3回目ooo4回目・・・ となると素人な私は考えてしまいますが 実際はooo1回目2回目3回目4回目・・・になります。 $zzz変数の値""の流れはいったいどうなっているのでしょうか? どこがどう結合されているのでしょうか?

    • ベストアンサー
    • PHP
  • Objective-C for文でのインスタンス

    既出の質問と類似してますが、解決しないので質問します。 Objective-CのNSMutableArrayを使いラベルを複数個作りならべたいのですが、 変数iを使ってラベルに番号をつける方法がわかりません。 今のコードは NSMutableArray *tiles = [NSMutableArray array]; for( int i=0; i<25; i++ ){ UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0,0, tileSize,tileSize)]; label.text=[NSString stringWithFormat:@"%d",i]; [tiles addObject:label]; [self.view addSubview:label]; } です。 これを UILabel *label%d,i = [[UILabel alloc]initWithFrame:CGRectMake(0,0, tileSize,tileSize)]; のようにして、 label0、lable1、label2、label3・・・・ というように生成するにはどうしたらいいですか? Objective-C初心者です。 よろしくお願いします。

  • [Objective-c] NSlogとループ

    Objective-cの勉強を始めたばかりです。 ループ処理内のNSlogについて質問させてください。 下の方にあるソースコードにて実行すると、 何回かに1回なのですがループが最後まで回らずNSlogにて 最後まで出力されない。 ( 変数aの値は32です のように途中までしか出力されない、  一番最後までループすれば 変数aの値は1024です が出力されて  ループを抜けるはずです。) MacOSX10.7.4 Core i5 2.2GHz Xcode 4.3.2 そこで下記複数質問があります。 1.内部でどんなエラーが起こっているのでしょうか?  (メモリー確保・解放ができていない?   前回処理が完了する前に次の処理を実行しようとしている?) 2.下部ソースのコメントアウトにインターバル(sleepForTimeInterval)を  もうける処理がありますが、これをコメントはずして実行すると、  何度実行しても最後まで出力されるようになりました。  このような処理を入れるのが当たり前なのでしょうか? #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... int a=1; for(;a<1000;a=a*2) { // [NSThread sleepForTimeInterval:0.005]; NSLog(@"変数aの値は%dです\n",a); } } return 0; } 以上、よろしくお願いいたします。

  • php 変数(変数名)の結合について。

    php 変数(変数名)の結合について。 こんばんは。 phpでホームページを作成しておりますが どうも上手く動かないのでこちらに質問させて頂きました。 変数名$testに数字を連番で付け、 $test0 = (値1,値2,値3,・・・) $test1 = (値1,値2,値3,・・・) $test2 = (値1,値2,値3,・・・) と各変数に配列を代入したいと考えています。 そこで、for文を使用し、 for($i=0; $i<10; $++) {  $test.$i = (値1,値2,値3,・・・) } と記述た所、上手く動作せずに困っております。 二次元配列での代入は可能だと思いますが $test[0] = (値1,値2,値3,・・・) $test[1] = (値1,値2,値3,・・・) $test[2] = (値1,値2,値3,・・・) for($i=0; $i<10; $++) {  $test[$i] = (値1,値2,値3,・・・) } ※ 実験してませんけど・・・。 なるべく二次元は使わないで処理したく思いますが やはり二次元配列のが合理的でしょうか・・・。 その点も踏まえ、何方かご教授頂ければ幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • Objective-cのextendedって,,?

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

専門家に質問してみよう