欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Swift?重構(gòu)重載運算符示例解析

 更新時間:2023年03月13日 14:13:57   作者:SoaringHeart  
這篇文章主要為大家介紹了Swift?重構(gòu)重載運算符示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、思路來源

研究自定義運算符的時候,又重新看了一下重載運算符,覺得挺有意思的,隨手封裝了幾個。

二、基礎(chǔ)類型 String 為例

重載乘法運算符

將一段字符串重復(fù) n 次拼接在一起;

let c = "abc"*3;
print("c: \(c)");//c: abcabcabc

源碼實現(xiàn):

public extension String{
    static func * (lhs: String, rhs: Int) -> String {
        return String(repeating: lhs, count: rhs);
     }
}

三、對象類型 UIEdgeInsets 為例

重載加法運算符將

將 top, left, bottom, right 屬性逐個求和;

let edg1 = UIEdgeInsets(top: 1, left: 2, bottom: 3, right: 4);
let edg2 = UIEdgeInsets(top: 4, left: 3, bottom: 2, right: 1);
let e = edg1 + edg2;

print("edg1: \(edg1)");//edg1: UIEdgeInsets(top: 1.0, left: 2.0, bottom: 3.0, right: 4.0)
print("edg2: \(edg2)");//edg2: UIEdgeInsets(top: 4.0, left: 3.0, bottom: 2.0, right: 1.0)
print("e: \(e)");//e: UIEdgeInsets(top: 5.0, left: 5.0, bottom: 5.0, right: 5.0)

源碼實現(xiàn):

public extension UIEdgeInsets{

    static func + (lhs: UIEdgeInsets, rhs: UIEdgeInsets) -> UIEdgeInsets {
        return UIEdgeInsets(lhs.top + rhs.top,
                            lhs.left + rhs.left,
                            lhs.bottom + rhs.bottom,
                            lhs.right + rhs.right
        );
     }
}

四、總結(jié)

1、重載運算符可以將繁瑣的操作簡單化,復(fù)雜的操作封裝化,屬于質(zhì)變的重構(gòu)方式;

2、編程的核心是創(chuàng)造力,你創(chuàng)造各種工具函數(shù)的能力越強則工作越輕松,反之亦然。

以上就是Swift 重構(gòu)重載運算符示例解析的詳細內(nèi)容,更多關(guān)于Swift 重構(gòu)重載運算符的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Swift中實現(xiàn)點擊、雙擊、捏、旋轉(zhuǎn)、拖動、劃動、長按手勢的類和方法介紹

    Swift中實現(xiàn)點擊、雙擊、捏、旋轉(zhuǎn)、拖動、劃動、長按手勢的類和方法介紹

    這篇文章主要介紹了Swift中實現(xiàn)點擊、雙擊、捏、旋轉(zhuǎn)、拖動、劃動、長按手勢的類和方法介紹,本文分別給出了各種手勢的實現(xiàn)代碼,需要的朋友可以參考下
    2015-01-01
  • Swift Json實例詳細解析

    Swift Json實例詳細解析

    這篇文章主要給大家介紹了關(guān)于Swift Json解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • 詳解Swift編程中下標的用法

    詳解Swift編程中下標的用法

    這篇文章主要介紹了Swift編程中下標的用法,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • swift表格控件使用方法詳解(UITableview)

    swift表格控件使用方法詳解(UITableview)

    這篇文章主要為大家詳細介紹了swift表格控件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Swift之運算符重載示例詳解

    Swift之運算符重載示例詳解

    這篇文章主要為大家介紹了Swift之運算符重載示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 詳談swift內(nèi)存管理中的引用計數(shù)

    詳談swift內(nèi)存管理中的引用計數(shù)

    下面小編就為大家?guī)硪黄斦剆wift內(nèi)存管理中的引用計數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Swift中轉(zhuǎn)義閉包示例詳解

    Swift中轉(zhuǎn)義閉包示例詳解

    在Swift 中的閉包類似于結(jié)構(gòu)塊,并可以在任何地方調(diào)用,下面這篇文章主要給大家介紹了關(guān)于Swift中轉(zhuǎn)義閉包的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 在SpringBoot中實現(xiàn)適配器模式的兩種方式

    在SpringBoot中實現(xiàn)適配器模式的兩種方式

    這篇文章主要介紹了在SpringBoot中實現(xiàn)適配器模式的兩種方式,通過實現(xiàn)類定義類型字段實現(xiàn)和以動態(tài)service名稱的方式實現(xiàn),并且通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-03-03
  • SwiftUI中TabView組件的常規(guī)使用

    SwiftUI中TabView組件的常規(guī)使用

    這篇文章主要給大家介紹了關(guān)于SwiftUI中TabView組件的常規(guī)使用,文中通過實例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用SwiftUI具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-06-06
  • 用Swift構(gòu)建一個簡單的iOS郵件應(yīng)用的方法

    用Swift構(gòu)建一個簡單的iOS郵件應(yīng)用的方法

    這篇文章主要介紹了用Swift構(gòu)建一個簡單的iOS郵件應(yīng)用的方法,包括查看和標記已讀等基本的郵件應(yīng)用功能,需要的朋友可以參考下
    2015-07-07

最新評論