最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS中奇妙的三目運算符示例詳解

 更新時間:2018年07月11日 11:45:54   作者:木暮風(fēng)  
大家都知道在oc中可以使用三目運算符來進行條件的判斷,這相對于if else 來說更加的簡潔,下面這篇文章主要給大家介紹了關(guān)于iOS中奇妙的三目運算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

三目運算符:也叫三元運算符。這個運算符的符號是: ? :,下面這篇文章主要給大家介紹了關(guān)于iOS三目運算符的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細的介紹吧

基礎(chǔ)

一般情況下,我們使用三目運算符(?:)的語法格式是:

(expression)?if-true-statement :if-false-statement;

如果表達式expression結(jié)果為真,則執(zhí)行if-true-statement,否則執(zhí)行if-false-statement。

我們經(jīng)常會使用三目運算符進行簡單的判斷賦值,例如:

y = x ? x : z;

即如果x為真,則返回x,如果x為假,則返回z,這是最簡單最基本的用法。

高級

但是偶爾我們也會看到這種用法:

y = x ? : z;

? 與 :之間沒有任何操作數(shù),這是什么用法呢?

通過幾次實驗發(fā)現(xiàn),當x為真時,y的值與x值一致。那我猜測? 與 : 之間省略了x。

也就是說,y = x ? : z; 與y = x ? x : z;等價,這樣就和事實相一致了。

復(fù)雜

但是,這這只是最簡單的情況,那么稍微復(fù)雜一點的情況呢?

如:a > b ? : b中間省略了什么呢?會是a嗎?

經(jīng)過驗證后發(fā)現(xiàn),并不是a。

其實它是省略了a > b 。

也就是說a > b ? : b 等價于 a > b ? a > b : b;

那么這樣似乎可以得出結(jié)論,? 與 : 中間省略的東西,是與? 之前的表達式一致的。

那么確實是這樣的嗎?

特例

我們知道,在OC中,有一類很奇怪的運算符,自增(++)/自減(--)運算符。那么它在三目運算符中的表現(xiàn)如何呢?
如:

int x = 0; 
int y = ++x ? ++x : 3;

則最終,y的值為2。

然而,

int x = 0; 
int y = ++x ? : 3;

最終,y的值居然是1。

怎么兩次的結(jié)果不一致呢?按照上面的結(jié)論,y的值應(yīng)該都是2才對啊。

那為什么第一種結(jié)果y的值為2,而第二種結(jié)果y的值為1呢?

結(jié)論

據(jù)我猜想,? 與: 之間省略的應(yīng)該是?之前表達式的值,而不是省略的表達式。

這樣就可以解釋上面所有的情況了。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:

相關(guān)文章

  • 談?wù)刋Code9的新變化

    談?wù)刋Code9的新變化

    這篇文章主要介紹了談?wù)刋Code9的新變化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • iOS在Block中修改外部變量值的實現(xiàn)代碼

    iOS在Block中修改外部變量值的實現(xiàn)代碼

    這篇文章主要介紹了iOS在Block中修改外部變量值的實現(xiàn)代碼,需要的朋友可以參考下
    2017-08-08
  • IOS定制屬于自己的個性頭像

    IOS定制屬于自己的個性頭像

    這篇文章主要為大家介紹了IOS定制屬于自己的個性頭像,實現(xiàn)方法很簡單,感興趣的小伙伴們可以參考一下
    2016-01-01
  • iOS實現(xiàn)全局懸浮按鈕

    iOS實現(xiàn)全局懸浮按鈕

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)全局懸浮按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • MAUI模仿iOS多任務(wù)切換卡片滑動的交互實現(xiàn)代碼

    MAUI模仿iOS多任務(wù)切換卡片滑動的交互實現(xiàn)代碼

    這篇文章主要介紹了[MAUI]模仿iOS多任務(wù)切換卡片滑動的交互實現(xiàn),使用.NET MAU實現(xiàn)跨平臺支持,本項目可運行于Android、iOS平臺,需要的朋友可以參考下
    2023-05-05
  • IOS客戶端接入微信支付

    IOS客戶端接入微信支付

    對于一個ios的app,如果有一些虛擬的商品或者服務(wù)需要通過在線支付來收費的話,一般有幾種主流的選擇。如果是通過APP調(diào)用支付平臺APP的思路的話,一個是調(diào)起支付寶客戶端,一個則是調(diào)起微信支付。本文給大家分享ios客戶端接入微信支付,需要的朋友可以參考下
    2015-09-09
  • IOS10 相冊相機閃退bug解決辦法

    IOS10 相冊相機閃退bug解決辦法

    這篇文章主要介紹了IOS10 相冊相機閃退bug解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 淺析iOS中的淺拷貝和深拷貝(copy和mutableCopy)

    淺析iOS中的淺拷貝和深拷貝(copy和mutableCopy)

    ios提供了copy和mutablecopy方法,顧名思義,copy就是復(fù)制了一個imutable的對象,而mutablecopy就是復(fù)制了一個mutable的對象。本文給大家介紹iOS中的淺拷貝和深拷貝(copy和mutableCopy) ,感興趣的朋友一起看看吧
    2016-04-04
  • 詳解在iOS11下app圖標變空白的問題解決方法

    詳解在iOS11下app圖標變空白的問題解決方法

    本篇文章主要介紹了詳解在iOS11下app圖標變空白的問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • iOS適配iPhone XS、 iPhone XS Max and iPhone XR的方法淺析

    iOS適配iPhone XS、 iPhone XS Max and iPhone XR的方法淺析

    這篇文章主要給大家介紹了關(guān)于iOS適配iPhone XS、 iPhone XS Max and iPhone XR的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09

最新評論

古交市| 康马县| 泸定县| 鹤峰县| 华蓥市| 麦盖提县| 普陀区| 邳州市| 尤溪县| 成武县| 色达县| 田林县| 巫山县| 冕宁县| 灵山县| 梓潼县| 武鸣县| 东明县| 海门市| 尚义县| 策勒县| 威远县| 牙克石市| 锡林郭勒盟| 渭源县| 洪雅县| 五寨县| 扎囊县| 炎陵县| 张家港市| 冀州市| 邛崃市| 元氏县| 建始县| 大方县| 长阳| 韶关市| 襄汾县| 来宾市| 陈巴尔虎旗| 清苑县|