OC方法交換swizzle詳細介紹——不再有盲點
原文鏈接:https://www.cnblogs.com/mddblog/p/11105450.html 如果對方法交換已經比較熟悉,可以跳過整體介紹,直接看常見問題部分 整體介紹 方法交換是runtime的重要體現,也是"消息語言"的核心。OC給開發者開放了很多接口,讓開發者也能全程參與這一過程。 原理 oc的方法調用,比如[self test]會轉換為objc_msgSend(self,@se
昵称 時間已靜止
贡献者24
粉丝0
原文鏈接:https://www.cnblogs.com/mddblog/p/11105450.html 如果對方法交換已經比較熟悉,可以跳過整體介紹,直接看常見問題部分 整體介紹 方法交換是runtime的重要體現,也是"消息語言"的核心。OC給開發者開放了很多接口,讓開發者也能全程參與這一過程。 原理 oc的方法調用,比如[self test]會轉換為objc_msgSend(self,@se
昵称 時間已靜止
問題提出 最近趁着放假時間,在看The Big Nerd Ranch的iOS編程,想着重新複習一遍iOS開發的基礎知識 書中第四章有一個温度轉換的app實現,整體實現並不難 其中有個問題——如何利用UITextFieldDelegate委託限制UITextField的輸入 問題背景 UITextFieldDelegate裏面有個函數 func textField(_ textField
昵称 Minerw
開始安裝 1安裝需要⽤到Ruby,雖然Mac⾃帶了Ruby,不過版本有點⽼了,最好更新⼀下 sudo gem update --system 2接下來輸⼊系統密碼就可以安裝了,輸⼊密碼時不會顯⽰的,輸完回車就⾏了 3因為Ruby的軟件源rubygems.org被屏蔽了,所以要更換源 gem sources --add https://gems.ruby-china.com/ --remo
昵称 小魚的市場
//遞歸枚舉值實例 enum Expression{ //單個數值 case num(param:Int) //表示加法運算 將Expression作為相關值參數類型 indirect case add(param:Expression,param2:Expression) //表示減法運算 將Expression作為相關值參數類型 indire
昵称 清風幽夢
隨着項目開發接近了尾聲,改Bug和性能優化成了工作的重中之重,移動端開發,最注重用户體驗,一個絲滑般的應用程序能在用户心裏加很多印象分。 1、優化列表的滑動速度 作為內容創作類的app,裏面包含了大量的寫作、畫作、小説、動態等多種動態高度的樣式;列表滑動不卡頓,就成了用户體驗的關鍵問題。 1)Autolayout自動佈局比直接計算frame消耗更多的CPU資源,所以在確定內容位置、
昵称 Mr·Xu
公司項目結束了,公司估計也快黃了,年底事少,也給了我不少時間來維護博客。 公司的項目是一個類似於簡書的創作平台,涵蓋寫作、小説、插畫內容。 本期主要先下小説閲讀部分,UI樣式仿照的是微信讀書樣式,因之前也寫過小説閲讀器,但是代碼並沒有解耦,這次徹徹底底做一次大改動。 小説用户的常見操作:當前閲讀進入記錄和書籤列表,因公司項目的結構問題,目前新項目並沒有做項目進度記錄和書籤保存功能,
昵称 Mr·Xu
使用MJRefresh進行列表下拉刷新時,會出現列表上下顫抖問題 抖動的原因 我們先來看看在手鬆開之後我們對scrollView做了什麼事情: ScrollViewDidEndDragging=setContentInset: 為了保證在“Loading”的狀態下,下拉刷新控件可以展示,我們對contentInset做了修改,增加了inset的top. 那這樣一步操作為什麼會導
昵称 Mr·Xu
// // DataManager.swift // GRDBDemo // // Created by Apple on 2021/4/21. // import GRDB struct DataBaseName { /// 數據庫名字 static let test = "conversation.db" } /// 數據庫表名 struct Table
昵称 Mr·Xu
1. 閉包 一個函數和它所捕獲的變量/常量環境組合起來,稱為閉包 一般指定義在函數內部的函數 一般它所捕獲的是外層函數的局部變量/常量 typealias fn = (Int) - Int func getFn() - fn{ var count = 0 func sum(_ i: Int) - Int{ count += i r
昵称 基地您
蘋果發佈Xcode 7之後,可以打開正常的AppleID或實機上載,而不是$ 99或$ 299,只要你可以在AppStore下載應用程序的AppleID。關於Mac系統和Xcode的安裝,如果不請參見原文描述,這裏只介紹使用Xcode7和普通AppID創建免費證書、個人資料。 文中測試環境是OSX 10.10.5 + XCode 7正式版本。因此,一些地方的圖像與原文圖像有所不同。 運行Xcode
昵称 IOS&JAVA開發
引言 UICollectionView 是 iOS 平台上一種強大的視圖佈局工具,能夠很好地實現網格佈局,列表佈局等多種佈局方式。 首先講下今天的目標,我們將要使用 UICollectionView 來創建仿微博的九宮格內容。首先,目標行數為3,每行顯示3張圖片,總共顯示9張圖片。 實現方式 我們往界面上添加一個 UICollectionView,並創建一個 UICollectionViewFlo
昵称 GarveyCalvin
作者:京東零售 鄧立兵 隨着Swift的日漸成熟和給開發過程帶來的便利性及安全性,京喜App中的原生業務模塊和基礎模塊使用Swift開發佔比逐漸增高。本次討論的是struct對比Class的一些優劣勢,重點分析對包體積帶來的影響及規避措施。 一、基礎知識 1、類型對比 引用類型:將一個對象賦值給另一個對象時,系統不會對此對象進行拷貝,而會將指向這個對象的指針賦值給另一個對象,當修改其中一個
昵称 京東雲技術團隊
前言 Codable 是 Swift 4.0 引入的一種協議,它是一個組合協議,由 Decodable 和 Encodable 兩個協議組成。它的作用是將模型對象轉換為 JSON 或者是其它的數據格式,也可以反過來將 JSON 數據轉換為模型對象。 Encodable 和 Decodable 分別定義了 encode(to:) 和 init(from:) 兩個協議函數,分別用來實現數據模型的歸檔
昵称 GarveyCalvin
前言 京喜APP最早在2019年引入了Swift,使用Swift完成了第一個訂單模塊的開發。之後一年多我們持續在團隊/公司內部推廣和普及Swift,目前Swift已經支撐了70%+以上的業務。通過使用Swift提高了團隊內同學的開發效率,同時也帶來了質量的提升,目前來自Swift的Crash的佔比不到1%。在這過程中不斷的學習/實踐,團隊內的Code Review,也對如何使用Swift來提高代碼
昵称 Jcloud
8.03週四 一大早電話吵醒,着急給我媽送卡,早上坐車去延安,順便下來玩玩,和以前的的高中同學打了兩個小時的枱球,又吃了自助,晚上還看了電影,在延安我哥哥家快2點才回去。 8.04週五 昨天睡覺的遲,已經中午快12點才起牀,起來吃點,就在家裏玩電腦,因為一直在下雨,晚上雨小了,才出去吃了紙包魚,晚上也就早早睡了。 8.05週六 今天,早上八點起牀,吃去吃點早飯,回來學習了兩個小時的Java,下午又
昵称 *太¥^白%
1、UIScrollView 增加了屬性allowsKeyboardScrolling表示是否根據連接的物理鍵盤的方向鍵而滾動。 import UIKit class ViewController: UIViewController { lazy var scrollView: UIScrollView = { let scrollView = UIScrollVi
昵称 Mr·Xu
本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin自2017年起被Google正式宣佈為Android的編程語言之一,隨後在2019年進一步宣佈Kotlin為Android的首選語言,普及速度逐漸加快,越來越多的公司和項目在引入Kotlin。 那Kotlin有哪些特點,為何建議大家要加快擁抱Kotlin的速度呢? 方
昵称 認真的紫菜
前言: 每年三四月份都是招聘高峯期,也就是我們説的金三銀四,很多想換工作的職場人士都會選擇在此時換一份工作,畢竟一年之計在於春,對於公司和個人而言都是一個新的開始。 今年受疫情的影響,各行各業都舉步維艱,然而做為iOS面試官的我也在精心準備的為公司招進優秀的iOS開發,期間收到了很多簡歷,也筆試了不少開發者,上一週我們已經發了3個offer,所以先下手為強,我們已經招滿了人的職位,依舊陸陸續續也還
昵称 一個在奮鬥的大神
前言 本期是 Swift 編輯組自主整理週報的第二十期,每個模塊已初步成型。各位讀者如果有好的提議,歡迎在文末留言。 Swift 週報在 GitHub 開源,歡迎提交 issue,投稿或推薦內容。目前計劃每兩週週一發佈,歡迎志同道合的朋友一起加入週報整理。 最無情的永遠不是環境,而是缺乏勇氣的內心。Swift社區與你一起,赤膽平亂世,長槍定江山!👊👊👊 週報精選 新聞和社區:擔心泄密!
昵称 Swift社區
前言 本期是 Swift 編輯組自主整理週報的第二十一期,每個模塊已初步成型。各位讀者如果有好的提議,歡迎在文末留言。 Swift 週報在 GitHub 開源,歡迎提交 issue,投稿或推薦內容。目前計劃每兩週週一發佈,歡迎志同道合的朋友一起加入週報整理。 求人不如求己,你多一樣本領,就少一點啊乞求;Swift社區讓你多一樣技能,少一些嘲諷!👊👊👊 週報精選 新聞和社區:碼出新宇宙,
昵称 Swift社區
前言 隨着應用程序和用户羣的增長,你需要添加新功能,刪除其他功能,並改變應用程序的工作方式。這是軟件開發生命週期的自然結果,我們應該接受。 隨着應用程序的發展,你的數據模型也會發生變化。你需要更改數據結構的方式,以適應新功能,同時確保用户不會在不同版本之間丟失任何數據。如果你使用 Core Data 在應用程序中持久化信息,那麼 Core Data 遷移就會發揮作用。 什麼是 Core Data
昵称 Swift社區
前言 本期是 Swift 編輯組自主整理週報的第二十二期,每個模塊已初步成型。各位讀者如果有好的提議,歡迎在文末留言。 Swift 週報在 GitHub 開源,歡迎提交 issue,投稿或推薦內容。目前計劃每兩週週一發佈,歡迎志同道合的朋友一起加入週報整理。 若目標遠大,就要有大動作。若追求卓越,便須有大改變。Swift社區已整裝待發,你要不要一起呢?👊👊👊 週報精選 新聞和社區:Ap
昵称 Swift社區
前言 本期是 Swift 編輯組自主整理週報的第二十三期,每個模塊已初步成型。各位讀者如果有好的提議,歡迎在文末留言。 Swift 週報在 GitHub 開源,歡迎提交 issue,投稿或推薦內容。目前計劃每兩週週一發佈,歡迎志同道合的朋友一起加入週報整理。 騷年,努力去成為你期待已久的自己吧,就像Swift社區一樣,時刻心懷夢想,不斷向前!👊👊👊 週報精選 新聞和社區:蘋果已提供新的
昵称 Swift社區
前言 本期是 Swift 編輯組自主整理週報的第二十四期,每個模塊已初步成型。各位讀者如果有好的提議,歡迎在文末留言。 Swift 週報在 GitHub 開源,歡迎提交 issue,投稿或推薦內容。目前計劃每兩週週一發佈,歡迎志同道合的朋友一起加入週報整理。 看那碧水藍天,波瀾又壯闊。淺讀Swift社區,充實而豁然。期許光亮,皆在其中!👊👊👊 週報精選 新聞和社區:App 內購買項目和
昵称 Swift社區