Time of Update: 2018-07-24
在Swift中想調用自訂的OC類或開源包,只需要做下橋接就可以 了,建立一個以項目名-Bridging-Header.h檔案的檔案,.h檔案就可以像OC裡一樣import你想要的檔案 ,然後在Build Settings中Objective-C Bridging Header,在其值的地方,填入你自己建立的標頭檔就可以了。 1. 可以將相應標頭檔拖到填值的輸入框中 2. 手動填寫標頭檔路徑到輸入框中,如: JokerMost/Swift-ObjectiveC-Bridge.h
Time of Update: 2018-07-25
在代碼中使用了UIAlertView,由於沒有智能的提示,編譯沒有問題,但當觸發時,就會崩潰,而且沒有 出現任何提示,不知道是什麼錯誤,大家如果遇到同樣的情況,就知道怎麼解決了。 這裡寫了一個擴充,這樣更方便使用了 [objc] view plain copy print ?
Time of Update: 2018-07-25
執行swift-ring-builder的add命令添加裝置到Ring中,與create命令類似,add命令由swift.cli.ringbuilder.Commands類add()函數完成 # swift/cli/ringbuilder.py def add(): #_parse_add_values()解析參數,並返回一個device的列表,然後檢查新添加的device是否在devs列表中, #如果沒有,則通過RingBuild類的add_
Time of Update: 2018-07-25
Swift 字典用來儲存無序的相同類型資料的集合,Swift字典會強制檢測元素的類型,如果類型不同則會報錯。 Swift字典每個值(value)都關聯唯一的鍵(key),鍵作為字典中的這個值資料的標識符。 和數組中的資料項目不同,字典中的資料項目並沒有具體順序。我們在需要通過標識符(鍵)訪問資料的時候使用字典,這種方法很大程度上和我們在現實世界中使用字典查字義的方法一樣。 Swift字典的key沒有類型限制可以是整型或字串,但必須是唯一的。
Time of Update: 2018-07-25
有些情況下在Swift中想讓Dictionary某個Key為空白值,比如在與伺服器互動時,有些參數無論有沒有值必須要求傳.但如果給字典的key賦值為nil,字典則會移除這個索引值對,如下:var dict1=Dictionary<String,AnyObject>()dict1["name"]="Jack"dict1["age"]=16dict1["nickname"]=nilprintln(dict1)
Time of Update: 2018-07-25
import UIKitclass person : NSObject { var name : String? var age : Int = 0 //1.重寫父類的初始化方法 override init(){ //在建構函式中,如果沒有明確調用super.init(),那麼系統會自動幫你調用super.init() super.init() print("-------") }
Time of Update: 2018-07-25
Swift語言使用var定義變數,但和別的語言不同,Swift裡不會自動給變數賦初始值,也就是說變數不會有預設值,所以要求使用變數之前必須要對其初始化。如果在使用變數之前不進行初始化就會報錯: ? 1 2
Time of Update: 2018-07-25
預先處理指令 Swift編譯器不包含前置處理器。取而代之的是,它充分利用了編譯時間屬性,組建組態和語言特性來完成相同的功能。因此,Swift沒有引進預先處理指令。 簡單宏 在C和Objective-C,您通常使用的#define指令定義的一個基本常數,在Swift,您可以使用全域常量來代替。例如:一個全域定義#define FADE_ANIMATION_DURATION 0.35,在Swift可以使用let
Time of Update: 2018-07-25
一.建立項目 //略 二.建立視圖控制器(快捷的方法:不要在去建立swift 檔案 ,直接如下操作 ) 上代碼(含有注釋) AppDelegate.swift // // AppDelegate.swift // swift UINavigationController 導航控制器 // // Created by zhangbiao on 14-6-16. //
Time of Update: 2018-07-24
1. 使用cocoapods 載入三方( pod 'Masonry') 2.橋聯 先建立 (.h) 3.(.h)參照官方命名Header-Briding-Header,將Masonry引入檔案中 4.在Build Setting 中搜尋bridging 找到Objective-C Bridging Header 並且將建立的(.h) 檔案路徑寫入 5.然後就可以正常使用了
Time of Update: 2018-07-24
在iOS7以後要開啟手機網路攝影機或者相簿的話都需要許可權,在iOS9中更是更新了相簿相關api的調用 首先建立一個swift工程,在SB中放上一個按鈕,並在viewController中拖出點擊事件 ok!按鈕和事件設定好以後,我們來引入要用到的庫,判斷網路攝影機許可權,需要引入AVFoundation.framework,搜尋並進行添加 在ViewController中 import AVFoundation
Time of Update: 2018-07-24
Swift中表示 “類型範圍範圍” 這一概念有兩個不同的關鍵字,它們分別是static和class。這兩個關鍵字確實都表達了這個意思,但是在其他一些語言,包括Objective-C中,我們並不會特別地區分類變數/類方法和靜態變數/靜態函數。但是在Swift中,這兩個關鍵字卻是不能用混的。 在非class的類型上下文中,我們統一使用static來描述類型範圍。這包括在enum和struct中表述類型方法和類型屬性時。在這兩個實值型別中,我們可以在類型範圍內聲明並使用儲存屬性,計算屬性和方法。
Time of Update: 2018-07-24
// 擷取當前日期 let moonDay = Date().stringWithFormatterL(dateFormat: "M月dd日") let time = Date().stringWithFormatterL(dateFormat: "HH:mm")
Time of Update: 2018-07-24
Swift 擷取目前時間戳 (秒級,毫秒級) 經常見到有人將 秒級 時間戳記 以 Int 類型直接 *1000 來擷取毫秒,這樣的結果最後的3位元字都是0,擷取到的結果不夠精確。所以擷取毫秒級時間戳記有另外一種方式。 建立一個 Date 的 Extension,代碼如下 extension Date { /// 擷取當前 秒級 時間戳記 - 10位 var timeStamp : String { let timeInterval:
Time of Update: 2018-07-24
NSDate的擴充 如果只需要其中一個方法 可自行提取 extension NSDate { /** 擷取這個月有多少天 */ func getMonthHowManyDay() ->Int { //我們大致可以理解為:某個時間點所在的“小單元”,在“大單元”中的數量
Time of Update: 2018-07-24
1,時間戳記 時間戳記是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。 2,擷取目前時間的時間戳記 1 2 3
Time of Update: 2018-07-24
Swift實現簡單時間戳轉換 發布時間戳記與目前時間比較:幾秒前……天前。 swift文法 時間戳記轉化 代碼塊 createdTime:發布時間戳記 //Swift時間戳記轉化方法func timestamp() -> String { var timestamp = String() var now = time_t() time(&now) //createdTime發布時間戳記
Time of Update: 2018-07-24
========@objc============= @objc 使用介紹 在swift3中,編譯器自動推斷@objc,換句話說,它自動添加@objc 在swift4中,編譯器不再自動推斷,你必須顯式添加@objc 在swift 中 如果一個按鈕添加點擊方法 如果定義為Private 或者 定義為 FilePrivate 那麼會在Addtaget方法中找不到私人方法 但是又不想把方法暴露出來,避免外界訪問
Time of Update: 2018-07-24
class ViewControllerI: UIViewController,UITableViewDelegate,UITableViewDataSource { var mytableView : UITableView? let testValue:NSString =
Time of Update: 2018-07-24
說實話Google了一大圈,最後還是在Stack Overflow上找到了自己想要的答案,但是在swift裡面還像沒有imageWithColor方法,只能自訂了 下面是代碼 func shadowImageLine() -> Void { self.navigationController?.navigationBar .setBackgroundImage(imageWithColor(UIColor.redColor()), forBarMetrics: