1. 程式人生 > >switch case語句裡面定義物件要加上花括號

switch case語句裡面定義物件要加上花括號

今天寫一個東西, 突然發現在switch裡面不能定義物件,否則會出現Expected expression錯誤

直接上程式碼:

switch (_refreshMode) {

caseXMYBasicTableViewControllerRefreshModelNone:

break;

case XMYBasicTableViewControllerRefreshModelHeaderRefresh:

            UIRefreshControl *refresh = [[UIRefreshControl alloc] init];

caseXMYBasicTableViewControllerRefreshModelFooterRefresh

:

break;

    }

網上查詢了一下, 發現原因主要由以下三點:

1.如果就這樣建立物件的話,物件的作用域是在倆個花括號之間 也就是整個switch語句

 2.但是大家都直到switch中每一個case都是各自相對封閉的空間 也就是switch中的語法是不允許物件作用域跨域不同case之間的

3.就是出於這種原因  才會報錯Expected expression,所有解決的辦法是把物件建立在一個case的作用域裡 即給這個case加上花括號

於是修改之後程式碼如下

switch (_refreshMode) {

caseSDBasicTableViewControllerRefeshModeNone

:

        {

            ;

        }

break;

caseSDBasicTableViewControllerRefeshModeHeaderRefresh:

        {

UIRefreshControl *refresh = [[UIRefreshControlalloc] init];

            [refresh addTarget:selfaction:@selector(pullDownRefreshOperation) forControlEvents:UIControlEventValueChanged];

self.refreshControl

= refresh;

        }

break;

caseSDBasicTableViewControllerRefeshModeFooterRefresh:

        {

        }

break;

    }



相關推薦

switch case語句裡面定義物件加上括號

今天寫一個東西, 突然發現在switch裡面不能定義物件,否則會出現Expected expression錯誤 直接上程式碼: switch (_refreshMode) { caseXMYBasi

iOS中switch case語句裡面不能定義物件,有語法錯誤,除非加一個括號

最近發現一個問題呢 發現在switch的case裡面不能去定義物件了,一定義物件就會報錯了 仔細瞭解了一下在C或者C++中,只要是在任何一對花括號 “{ }”中定義的物件,那麼該物件的作用域就侷限在這對花括號裡面,上面的程式碼的錯誤就出現在這兒了。 switch (i) {          

switch-case語句裡面有return了 ,break還起作用嗎?該如何解決

switch-case語句裡面有return了 ,break還起作用嗎?switch-case語句裡面有return了   ,break還起作用嗎?     比如:                       switch(ID)                      

C語言switch case語句定義變數問題

這個問題需要分開討論,C 語言和 C++ 的標準定義是不同的。 C++ int Caset(int a) { switch (a) { case 1: int b = 1; st

switch case 語句注意!!!

c語言中的switch case 語句相比大家也是非常的清楚的。 無論是誰,在編寫程式碼的時候都會用到這個語句的 ``````````````````````````````````````````

switch case 語句內部變數定義

switch case語句是非常常用的語句,入門的碼農也知道是做什麼的。 但關於switch case內定義變數的問題,網上的很多博文都有謬誤,在這裡我寫一下對這個語句的瞭解。 一 先看合法的定義方式: int main(int argc, const char

C語言中switch...case語句中break的重要性

不能 實現 比例 重要性 case語句 毫無 ... 應該 switch 在C語言中switch...case語句是經常用到的,下面我介紹一下在使用該語句時候需要註意的一個細節問題。話不多說,直接舉例子: 例子1: switch(fruit) { case 1:printf

switchcase 語句的用法

[] other sta rgs bsp str 復制代碼 ring 表達 public class Test7 { public static void main(String[] args) { int i=5; switch

Switch Case語句中多個值匹配同一個代碼塊的寫法

har com arch mssql pre html www ase cas switch ($p) { case ‘home‘: case ‘‘: $current_home = ‘current‘; break

JavaScript基礎知識(if、if else、else if、while、switch...case語句

case語句 bubuko ... gpo 控制 java 包含 分享 if...else 13、語句 概念:就是分號(;) 代表一條語句的結束 習慣:一行只編寫一條語句;一行編寫多條語句(代碼可讀性較差) 語句塊:可以包含多條語句 "{ }"將多條語句包裹 u 條

Java中的switch-case語句

sub public return ID PE stat class a case cti class ArithmeticFunction {   public static int arithmetic(int a, int b, String operator) {

switch case語句中能否作用在String,long上

bsp lips case語句 nbsp string 類型 span 出了 byte 在之前的eclipse中使用switch的case語句時是只能為(byte,short,char)int類型或枚舉類型。但在jdk1.7以後 在case語句中是可以使用String 以

Python 類似switch/case語句實現方法 獲取文件內容匹配函數並執行

lin get err 容易 main ref 設計 case error 這個主要提供了一種思路,這個不太好理解,我徹底敲了一遍,心裏有點低。參考下面的文章標題:Python switch/case語句實現方法來源:https://blog.csdn.net/l46013

ST語言和C語言關於case of 和switch case語句的區別

C語言中,case後不可直接跟多個常量,要如下圖所示使用(不要忘記defalut) switch(int,char){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: //todo break; defalut: br

if語句,if...else if語句switch...case語句的區別和分析

當我們有一個判斷條件的時候,顯然用if語句比較方便有效。但當判斷條件很多的時候,我們可以使用if語句或者if....eles 語句和switch  case 語句。 if...else if語句和多個if語句的區別還是很大的,if...else if在任何一個環節滿足條件的時候就將會終

用 Python 實現簡單的 switch/case 語句

在Python中是沒有Switch / Case語句的,很多人認為這種語句不夠優雅靈活,在Python中用字典來處理多條件匹配問題字典會更簡單高效,對於有一定經驗的Python玩家不得不承認,的確如此。 但今天我們還是來看看如果一定要用Python來Switch /

switch...case語句的理解案例

switch語句 語法:switch(變數) {                 case 常量值1:        &n

java switch..case語句

語法: switch(變數){ case 變數值1: 程式碼塊1; break; case 變數值2: 程式碼塊2; break; ... case default: 程式碼塊d; break; } swit

java switch case 語句接列舉類 實現判斷

首先定義列舉類,如: public enum DataTypeEnum {     /**小時型別值**/     HOUR("hour"),     /**小時型別值**/     DAY("day"),     /**小時型別值**/     WEEK("week")

C++的if/else語句switch/case語句

有時候,程式碼中需要實現這樣一個功能:當一個條件為真時做一件事,為假時做另一件事。這就引出了if/else語句。 if/else語句規則如下: 1. 標準格式: if(條件){ //條件為真時做 } else{ //條件為假時做 } 2. 如果條件為假時要什麼都不做,