Swiftノート

5615 ワード

Swiftノート


1 mutating修飾変更可能な方法2 value 1?value 2==value 1がnilの場合value 2を取る3つの例の書き方"private let Instance=MyManager()class MyManager{"class var sharedManager:MyManager{"return Instance"}4 typealias(タイプ別名)とパターンインタフェース5@UIApplicatiomMainシステムのデフォルトの依頼を置き換えてアプリケーション全体の処理が必要なことをする"import UImit"class MyApplication:UIApplication{ ” override func sendEvent(event: UIEvent!){ ” super.sendEven(event) ” print(“EVent sent : (event)”) ” } ”} ” UIApplicationMain(C_ARGC, C_ARGV, NSStringFromClass(MyApplication), NSStringFromClass(AppDelegate)) ”
4 protocol 5 C API Swift API const Type UnsafePointer Type UnstafeMutalerPointer
6 AnyClass遠型和.self ”let usingVCTypes : [AnyClass] = [MusicViewController,self, ”AlbumViewController.self ”] ”func setUpViewControllers(VcTypes:[AnyClass]){ ”let vcType in VcTypes{ ” if vcType is UIViewController.Type{ ” let vc = (vcType as UIViewController.Type).new() ” printIn(vc) ” } ”} ”}

7 protocolのProtocolは似ています。Type


8 is ——> isKindOfClass
9断言->assert"func convertTokeLvin(#celsius:Double)->Double{"assert(celsiu>absoulteZeroInCelsius,「入力摂氏温度は絶対零度を下回ってはならない」)」return celSius-absoulteZeroInCelsius"}
10 find"let arr=[1,2,3]"if let index=find(arr,2){"printIn("見つかった")}}else{"printIn("見つからなかった")"{}
11数字"Int.max Int.min infinity NaN
12 NSNull"swiftでNSNullをnilに変換
13 printInLog ” func printLog (message:T , ” file:String = FILE, ” method: String FUNCTion, ” line: Int _ LINE_){ ” #if DEBUG ” println(“(file:.lastPathComponent)[(line),(method): (message)]”) ” #endif ” }
14マクロ定義define"swiftマクロ定義なし"var M_PI : Double {get}
15 String and文字列(characters)"isEmpty"as"var emptypeString=""emptypeString.isEmpty
実際にコンパイルするとSwiftコンパイラは文字列の使用を最適化し、実際のレプリケーションが絶対的に必要な条件でのみ発生するようにします.let str:String=「awdwadwadaw」for character in str.characters{"print(character)}
"String"1 StartIndex"2 endIndex"3 index(before:)"4 index(after:)"5 index(:offsetBy)"6 insert(:at:)1文字列の指定されたインデックスに1文字列を挿入できます"7 insert(contentOf:at:)1文字列の指定された位置に1文字列を挿入できます"8 remove(at:)"9 removeSubrange(:)1文字列の指定されたインデックス位置から1文字列を削除できます
」文字列の比較「hasPrefix(:)/hasSuffix(:)/接尾辞の比較
16 array配列各項目の値とインデックス値を同時に必要とする場合、enumerated()メソッドを使用して配列遍歴enumerated()を行い、各データ項目のインデックス値とデータのみからなる元祖「for(index,value)in arrayを返すことができます.enumerated{ ” print(“item(String(index+1):(value))”) ” }
17 Set"insert(:)/戻り元祖(true,value)"remove(:)/戻り元祖(true,value)」「removeAll()」(contains(:)/特定の値(Bool)」「sorted(//並べ替え」instersection(:)/交差の新しい集約"symmetricDifference(:)/交差の逆方向"union(:)/並列セット"subtracting(//)/補完セット"18 switch"case(0,0)//元祖マッチング」case(,12)//任意の「case(1...<10)/区間マッチング」case(x,y)where x==y://whereを用いて必要な条件を判断する
19制御遷移文「contiune//今回のループを停止して次のループに進む」break//ループを終了「fallthrough//コードを次のcaseのコード「return」throwに簡単にリンクさせる」
20可変パラメータ"func arithmeticMean(_numbers:Double...)->Doulble{//可変パラメータの値が関数体の中で1つの配列になる"for number in numbers{"}"}
21関数タイプ」funcaddTwoInts(_a:int,_b:Int)->Int{"}」funcmultiplyTwoInts(_a:Int,_b:Int)->Int{"}」の2つの関数タイプはいずれも(Int,Int)->Int"var mathFunction:(Int,Int)->Int=addTwoInts"var mathFuction:(Int,Int)->Int=multiplyTwoInts"let num:Int=addTwoInt(1,2)「」//関数タイプをパラメータタイプとする」func printMathResult(_mathFunction:(Int)->int,a:int b:Int){」//関数タイプを戻り値タイプとする」func chooseSetFunction(backward:Bool)->(Int,Int)->Int{」//ネスト関数
22ソートsorted"let array=[1,2,3,4,5,9,34,23,45,98]」var arrayStr=array.map({ 0∗ 0}) ” print(arrayStr) ” let arr = array.sorted { (a, b) -> Bool in ” return a>b ” ” } ” ” let arrat = arr.sorted(by: { 0< 1})
23」internal internalアクセスレベルで修飾された属性またはメソッドは、ソースコードが存在するモジュール全体にアクセスできます.フレームまたはライブラリコードの場合は、フレーム内全体にアクセスでき、フレームが外部コードで参照されている場合はアクセスできません.Appコードであれば、Appコード全体でもあり、App内部全体でアクセスできます.
24 is&as"isがtrue falseを返しますasがself nilを返します
25字面量表現「FILE LINE COLUNM_」FUNCTION
26キャプチャの説明「weak unowned unowned(safe)unowned(unsafe)
27 swift列挙値(enum Value)関連値「swift関連値」は、整数(Integer)」浮動小数点数(Float Point)」文字列(String)」ブールタイプ(Boolean)をサポートする
28 swift列挙付加値の使用demo
T  U  M   
enum Extension {
case text1(key:T,Value:U)
case text2(model:M)
}

 
.text1(key:"key",Value:" ")
.text2(model:model)

 

switch Extension.type(
    case let text1(key,value):
    print(key,valye)
    break 
    case let text2(model):
    print(model)
    break

29'////下線の削除に失敗しました下線の色をclearに変更しましたなぜ設定に失敗しましたか?後で検討するaddAttribute(NSUnderlineStyleAttributeName, value:NSUnderlineStyle.styleNone.rawValue, range: NSMakeRange(0,attributedString.length))
30戻り値が使用されていない警告を削除⚠️ 1 @discardableResult 2 —=
今はandroid kotlinを書いているので空き時間があまりないので、その後はSwiftとKontlinを更新し続けます...