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
}
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
switch… case 語句的用法
[] 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. 如果條件為假時要什麼都不做,