気になる

アフェリエイト旅行

自動車

家庭菜園

« 抗生物質を服用しても、息の荒さはひどくなるばかり・・ | トップページ | ios7になって・・実機でのテストへの 「設定方法」 »

2013/10/11

エラー:Switch case is in protected scope

Switch文というのを自分で初めて書いた。

変数の宣言してないよっ!て怒られたので、.hに書いたら新たなエラー。
  • Switch case is in protected scope
何これ?ってググったら、Switch文の中で変数を使う場合は、caseの1つずつ{}で囲めということらしい。そーなのー?

- (IBAction)widthSegmentControl:(id)sender {

        UILabel *tiles = [self.view.subviews lastObject];
  UISegmentedControl *mySegmentedControl = sender;

    switch(mySegmentedControl.selectedSegmentIndex)
 {

        case 0:
      {

            //  縦(下)に伸びる

             CGRect rect = tiles.frame;

             tiles.frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height + 10);

            break;

         }

}
----------------------------------------------------------------------------------
<参考ブログさん>

うーん、でもまだエラーが出る。(黄色)
最初に変数宣言を.hにしたんで「ローカル変数と、インスタンス変数は、かぶらない様に、違う名前にしましょう」なるほど。(-_-;) .hに書いた変数宣言を削除。ok。

  • Local Declaration of "●●" Hides Instance Variable
----------------------------------------------------------------------------------
<参考ブログさん>
----------------------------------------------------------------------------------
出来た♪(;・∀・) 皆さんの記録を残してくれたおかげです。感謝!
■ラベルの大きさを、セグメントを使って、拡大縮小させる。
基本、左上をベース固定として・・
1)下へ拡大
2)下端が縮小
3)右端が縮小
4)右端が拡大
(コード見なおしたら変数宣言部分は何度も使うものだったので「CGRect rect = tiles.frame;」をcaseごとに入れてたのを、switch文の上に一行書きに手直し。したら当たり前のように{}も不必要になりスッキリコードになりました。ホッ)
  1. ストーリーボードにセグメント部品を置いて、4つに分割させて
    1)2)3)4)の内容にあった絵を各々に表示させるようにする。
    selectedのチェックを外しておく。
  2. 部品をコードにつなぐ
    .h ファイルに
    アウトレット(名:widthSegmentControl)としてつなぐ
      ※どのボタンが押されたかを知る為に
    アクション (名:widthSegmentControl)としてつなぐ
      ※ボタン対応の各処理コードを書く為に
  3. .m にコードを書く
    switch文で各々コードを書きました。

 

- (IBAction)widthSegmentControl:(id)sender {

 UILabel *tiles = [self.view.subviews lastObject];

    CGRect rect = tiles.frame;

    UISegmentedControl *mySegmentedControl = sender;

    switch(mySegmentedControl.selectedSegmentIndex)

    {

        case 0:

            //  縦(下)に伸びる

             tiles.frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height + 10);

            break;

        case 1:

 //  縦(下端が上に)に縮む

            tiles.frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height - 10);

            break;

        case 2:

 //  横(右端が左に)に縮む

            tiles.frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width - 10, rect.size.height);

            break;

        case 3:

            //  横(右)に伸びる

            tiles.frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width + 10, rect.size.height);

            break;

 

        default:

            break;

    }

 

}

うーん。セグメント項目を、1回ずつタップする分には機能するけど、連続してタップでは変化してくれない。(;一_一)

----------------------------------------------------------------------------------
<参考ブログさん>

セグメントコントロール部品は、複数のボタンのうち、ひとつだけ有効にすることができます。いくつかの選択肢の中から1つを選ばせたいときに便利なコントロール。

----------------------------------------------------------------------------------

あー根本的に「使用用途」からちゃんと考えましょう。(;・∀・)

・・・普通にボタンを4個用意して、割り振るかぁ。
自分が出来る範囲のことでアプリを仕上げましょう!w

« 抗生物質を服用しても、息の荒さはひどくなるばかり・・ | トップページ | ios7になって・・実機でのテストへの 「設定方法」 »

MacMini」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: エラー:Switch case is in protected scope:

« 抗生物質を服用しても、息の荒さはひどくなるばかり・・ | トップページ | ios7になって・・実機でのテストへの 「設定方法」 »

google検索

  • Google


    このブログを検索
    ウェブ全体から検索

カテゴリー

ニュース

  • 日経平均(長期)

    株価ミニチャートのブログパーツ
  • 経済指標(発表と内容)へのリンク
    http://jp.investing.com/economic-calendar/
  • 経済指標
  • . . .
  • 日経平均チャート
    by 株価チャート「ストチャ」
  • 株指標
2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30