Objective-C ifの条件による処理の実行

このQ&Aのポイント
  • もしある条件が満たされた場合に処理1を実行し、満たされない場合には処理2を実行します。
  • また、さらに別の条件が追加された場合には処理3と処理4が実行されますが、条件が満たされない場合には処理5と処理6が実行されます。
  • しかし、条件が満たされているにもかかわらず、処理4や処理6が実行されてしまう場合があります。この問題を解決する方法を教えてください。
回答を見る
  • ベストアンサー

Objective-C if

もう一度すみません http://okwave.jp/qa/q6956458.html 前回の質問で解決したと思ったのですが XXX.hidden&&!YYY.hidden.... と条件を書いても 表示されていてもされていなくても同じ実行がされてしました。 if(XXX.hidden&&!YYY.hidden){ 処理1}else{ 処理2} 表示されていた場合[処理2]が実行されますelseは条件以外の場合なので A if(XXX.hidden&&!YYY.hidden){ 処理1}else{ 処理2} B if(ZZZ.hidden&&!VVV.hidden){ 処理3}else{ 処理4} としたときXXXとYYYが表示されているのに[処理4]が実行されてしまいます もしここに C if(TTT.hidden&&!RRR.hidden){ 処理5}else{ 処理6} が追加されたらXXXとYYYが表示されているのに[処理6]が実行されてしまいます どうすればよいでしょうか?

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

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

>if(XXX.hidden&&!YYY.hidden){ > 処理1}else{ > 処理2 だと、XXX が非表示で、かつ、YYY が表示されている場合、処理1が実行されます。 XXX.hidden の先頭に ! を入れて if(!XXX.hidden&&!YYY.hidden){ 処理1}else{ 処理2 にすると、XXX が表示されていて、かつ、YYY が表示されている場合、処理1が実行されるようになります。

nosuke5614
質問者

お礼

単純なミスでしたね ありがとうございます

関連するQ&A

  • Objective-C if

    iPhone アプリ開発での質問です if文で条件をつける際 3つの条件が整ったらアクションを実行というようにさせたいのですがどうすれば良いのでしょうか? hiddenで隠していたUIButtonが表示されていた場合、実行とすると if(XXX.hidden){ }else{表示なのでここに処理} というようになりますよね? これで指定した3つが表示されていた場合実行というようにしたいです

  • PerlでCSV形式のファイルの一部分だけを抽出する方法

    Perlをやっていて困っていることがあります。 CSV形式のファイルを開いて、変数に代入した後の処理がわかりません。 どのようにしたいかというと・・・ aaa,bbb,ccc,ddd,eee,fff ggg,hhh,iii,jjj,kkk,lll mmm,nnn,ooo,ppp,qqq,rrr sss,ttt,uuu,vvv,www,xxx yyy,zzz,111,222,333,444 というファイルを読み込んだとします。その後 'fff' の部分だけをスカラー変数に取り込みたいときにはどのような 関数を実行すればいいのでしょうか。 困っています、お願いします。

    • ベストアンサー
    • Perl
  • Bシェルのif文

    if文の否定について教えてください。 if $aa='xxx' then else echo yyy fi 間違っているかもしれませんが上に書いたことをやろうとしています。 他の言語の if(!($aa='xxx'))echo yyy; をBシェルのif文で書くにはどうしたらいいですか? $aa='xxx'を$aa!='xxx'にするのではなくて、その外側のifの書式を教えてください。 最初に書いたコードでは、if(!条件)を知らないので if(条件) else 処理 endif のように書きました。

  • SQL文を教えてください

    いつもお世話になっております。 ウェブサイトを作っているのですが、以下のようなデータを表示するのに良いSQL文が分からず悩んでいます。 ID | DATE     | DATA --+----------+----- 1 | 2010-11-11 | aaa 2 | 2010-11-11 | bbb 1 | 2010-11-10 | ccc 3 | 2010-11-12 | ddd 3 | 2010-11-11 | eee 4 | 2010-11-10 | fff 1 | 2010-11-12 | ggg 2 | 2010-11-12 | hhh 1 | 2010-11-12 | iii 3 | 2010-11-12 | jjj 1 | 2010-11-09 | kkk 1 | 2010-11-09 | lll 1 | 2010-11-08 | mmm 1 | 2010-11-08 | nnn 1 | 2010-11-07 | ooo 1 | 2010-11-07 | ppp 1 | 2010-11-06 | qqq 3 | 2010-11-05 | rrr 2 | 2010-11-13 | sss 5 | 2010-11-08 | ttt 6 | 2010-11-05 | uuu 7 | 2010-11-04 | vvv 8 | 2010-11-03 | www 9 | 2010-11-02 | xxx 10| 2010-11-01 | yyy 11| 2010-10-30 | zzz 上のようなテーブルから、各IDを10件まで日付順に取り出すことはできるでしょうか? 具体的には、1つのページに以下のように表示したいのです。 2 | 2010-11-13 | sss 2 | 2010-11-11 | bbb 1 | 2010-11-12 | ggg 1 | 2010-11-11 | aaa 1 | 2010-11-10 | ccc 1 | 2010-11-12 | iii 1 | 2010-11-09 | kkk 1 | 2010-11-09 | lll 1 | 2010-11-08 | mmm 1 | 2010-11-08 | nnn 1 | 2010-11-07 | ooo 1 | 2010-11-07 | ppp 3 | 2010-11-12 | ddd 3 | 2010-11-11 | eee 3 | 2010-11-05 | rrr 4 | 2010-11-10 | fff 5 | 2010-11-08 | ttt 6 | 2010-11-05 | uuu 7 | 2010-11-04 | vvv 8 | 2010-11-03 | www 9 | 2010-11-02 | xxx 10| 2010-11-01 | yyy ・各IDのうち、最も新しい日付のものが上にくる ・表示するIDは10件まで ・表示はIDごとにまとめて行う ・一つのIDに属するデータは10件までしか取り出さない 上記のことを実現する方法をご教授ください。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • VB6,Ifから抜けるには?

    If a = b then   xxx  If c = d then    ここ!  End If   yyy End If zzz 上のここ!から抜け、zzz以降の処理を継続するにはどうすればよいでしょうか? Exit Subをやってしまうとプロシージャ自体から抜けてしまいます。

  • 2つの区分で並び替えたい

    EXCEL2010 下記の様な並び替えをする方法について教えていただきたく。 A列にA,B,Cといった文字列データがA,Bの場合とA,B,Cの場合で配置されます。 また、別の文字列データでRRR,SSS,TTT,UUU,VVVのデータが 最少5つ。最大9でRRR~ZZZまで配置されます。 両者はランダムに配置されています。 A~Cのデータはひとまとめ。 RRR~ZZZまでのデータもひとまとめでB列に配置したいです。 最初のデータ群で3つ目のデータが無ければ空欄にします 尚、 A~Cの末尾は同じ文字列が入っています。実が入ります。 例1 A列    B列 A実    A実 RRR    B実 SSS TTT    RRR B実    SSS UUU    TTT VVV    UUU       VVV 例2 A列    B列 A実    A実 RRR    B実 SSS    C実 TTT    RRR B実    SSS UUU    TTT C実    UUU VVV    VVV WWW   WWW というイメージにしたいのです。 元々A列にある並びはそのまま。 A列に配置されたデータに対し、 最初のデータ群を3つのかたまりでひとまとめ、 末尾が実を最初に表示するにする構成です。 フラグを立てて末尾が実を先頭に持ってくるまでは出来そうですが、 3つ目が無い場合に空欄にする処理で悩んでいます。 関数でもVBAでもどちらでも構いません。 よろしくお願いします。

  • SQL 複数条件を設定

    使用言語はjavaで処理しており、 SQL Server2005にて下記のようなテーブル(T_Kekka)があります。    ID   a-1   a-2   b-1   b-2   c-1   c-2     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    1   bbb   aaa   ddd    ccc   eee   fff       2   ggg   bbb   ccc     hhh   iii    jjj       3   bbb   mmm   ddd   ccc   fff    eee       4   bbb   aaa   ccc    ddd   qqq   rrr       5   zzz   sss   ttt     ccc   vvv   xxx       6   zzz   aaa   ttt     ccc   vvv   fff       7   zzz   zzz   zzz     zzz   zzz    zzz       8   qqq   rrr   ccc     ddd   fff    eee    検索する値は下記の通りです。 検索値 |a-1|a-2|b-1|b-2|c-1|c-2|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |aaa|bbb|ccc|ddd|eee|fff| 期待値としては、aはaのグループで検索、bはbのグループで検索、cはcのグループで検索をし、 一致個数の多い順に出力したいと考えております。(理想は下記のような感じです。) また、グループ内であれば逆転していてもOKです。 (例えばID:1のaグループのような感じです。) *1 一致数が同じ場合はcグループの数が多いデータが最優先となり、その他はID順になります。 期待値    ID   a-1   a-2   b-1   b-2   c-1   c-2   一致数  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    1   bbb   aaa   ddd   ccc   eee   fff     6    3   bbb   mmm   ddd   ccc   fff    eee    5    8   qqq   rrr    ccc   ddd   fff    eee    4・・・*1    4   bbb   aaa   ccc   ddd   qqq   rrr     4    6   zzz   aaa   ttt    ccc   vvv    fff     3    2   ggg   bbb   ccc   hhh   iii     jjj      2    5   zzz   sss   ttt    ccc   vvv    xxx     1    7   zzz   zzz   zzz    zzz   zzz    zzz     0 知識不足のため私には複雑すぎて悩んでいる状況なので、 どなた様か知識がある方にご教授願いたく思います。 また、まだテスト段階なので現状のようなテーブル構造にしてしまいましたが、 他のテーブル構造の方がデータが抽出しやすかったり、レスポンスがいい場合がありましたら、 ご教授いただけると助かります。 説明が分かりづらく表が見づらくて申し訳ございませんが、 宜しくお願い致します。

  • コピーについて

    こんばんは。同じような質問が過去にもあったならごめんなさい。 (自分なりに過去の質問を探してみましたが、無いようですので) <sheet1>    A    B    C    D  E  F 1 ZZZ社 XXX部 YYY課  松  猪  ♂ 2 TTT社 RRR部 FFF課  竹  鹿  ♂ 3 CCC社 BBB部 AAA課  梅  蝶  ♀ 4 ・・・ 上記のようなデータがあり、それをsheet2で下記の様に表示させたい。 <sheet2>    A    B    C 1 ZZZ社 XXX部 YYY課 2 松    猪    ♂ 3 TTT社 RRR部 FFF課  4 竹    鹿    ♂ 5 ・・・ sheet2のA1の式は =Sheet1!A1 となり、これをA3にコピーすると  =Sheet1!A2 になって欲しいところが =Sheet1!A3 となりますよね。 たくさんのデータのため、何とか簡単にやりたいのです。 手入力でやるしかないでしょうか?どうかお教え願います。 

  • Pro*CでVARCHAR2項目の検索

    こんにちは。たぶんとても基礎的なことと思うのですが。。。 Pro*CでSELECTするとき、WHERE句の中でVARCHAR2項目を条件に入れています。 が、どうも検索がうまくできなくて質問しました。 ホスト変数の定義…  char VVV[5]; 検索するところ… select xxx into :yyy from ZZZ where ZZZ.varchar2no4BYTE = :VVV ; のような感じです。ZZZ.varchar2no4BYTEの型はVARCHAR2(4)です。 で、ZZZ.varchar2no4BYTE が"1234"と"12"の2つのレコードを 登録しておいて、VVVに"1234"を入れると、ちゃんと検索できました。 んが、VVVに"12"を入れても検索されません。 そんなのあり?と VVVに"12 "を入れてもだめ、 VVVをVARCHAR構造体?にして、"12"で長さ2にしてもだめ、 だけどZZZ.varchar2no4BYTEがCHAR(4)だと"12"でOK、 なんなんだとPro*Cのマニュアル見てもNUMBER型の検索例ばかり、 というところで力尽きました。 (あー、CHAR_MAP=STRING って関係あるですかね) 動的SQLにすればよいのかもしれませんが、事情で使えないのです。 それ以前にホスト変数の理解が間違っているのではないかと思い、 お聞きするしだいです。

  • IF文

    (A)IF 条件 THEN 単純実行文1 ELSE 単純実行文2 (B)IF 条件 THEN 実行処理1 ELSE 実行処理2 Aの文では単純実行分なのになぜ改行すると(B)の文みたいに実行処理になるのでしょうか? 実行処理と単純実行文の違いを教えてください

専門家に質問してみよう