ShenYun's Memo
fb-script
2017年5月8日 星期一
簡化 UIView 動畫串接 (使用 Swift 3)
一般來說在使用 UIView.animate 要做動畫串接時,最無腦就這樣用
2016年11月3日 星期四
2016年10月27日 星期四
RSA Wiki 練習筆記
在 Wiki 上看到這篇 RSA加密演算法 想說來玩玩看,這邊使用 java。
稍微規劃了一些步驟:
1. 定義 p, q
2. 依照 p, q 生成 r, N
3. 找一個符合條件的 e
4. 依照 e, r 找出 d
5. public key 及 private key
6. 選一個數字 n 用 public key 做加密取得密文 c
7. 用 private key 做解密看是否相同
8. 試試看已知 public key 和 密文來破解
2016年10月26日 星期三
2016年9月11日 星期日
CoreData with swift 2 筆記 - Migration (2) 「半自動」Mapping File and Migration Policy
接上一篇,這次筆記「半自動」模式,計畫如下:
1. 建立一 Use Core Data
專案
2. 建立 Person
Entity
3. 在 Person
建立 fullname
欄位
4. 簡單的先在自動產生的 ViewController 中加入一比資料,以空格分開 firstname 和 lastname
5. 首次執行並確定資料新增
6. 刪除新增資料的程式碼
7. 建立一新版本的 Data Model:Model2
8. 在 Model2 中將 fullname
欄位刪除,並加入 firstname
和 lastname
欄位
9. 建立 Model1 到 Model2 的 Mapping File
10. 建立 fullname
欄位的 Migration Policy File:將 fullname
依照空格拆為 firstname
及 lastname
11. 將 Migration Policy 設定給 Mapping File
12. 設定 options 啟動 NSMigratePersistentStoresAutomaticallyOption
13. 第二次執行並確認 .sqlite
schema 和資料有成功變更
2016年9月9日 星期五
CoreData with swift 2 筆記 - Migration (1) 「全自動」lightweight migration
承接上一篇,當 NSPersistentStoreCoordinator
在做 addPersistentStoreWithType
時,會將 .sqlite
檔和 data model 做 ORM 的動作,可是如果該 .sqlite
內資料庫的資料和 data model 對不上的時候會怎樣?這種情況會發生在裝置已經安裝過 APP 了,而專案的 data model 有做了變更,使得 data model 和 .sqlite
的內容對不上,此時在預設自動產生的程式碼中,就會將錯誤列出來並呼叫 abort()
將 APP 結束
do {
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
} catch {
// Report any error we got.
// ...
abort()
}
不解決了話, APP 要馬就是不能更新 data model,要馬就是瘋狂的 Crash…
2016年9月3日 星期六
CoreData with swift 2 筆記 - Xcode 自動生成程式碼
- 假設專案名稱叫做
CoreDataBloggerDemo
,在專案創建的時候有勾選Use Core Data
的條件下的解析 - 從 xcode 自動生成的 Core Data 程式碼的
// MARK: - Core Data stack
以下開始
這段程式碼是自動生成在
AppDelegate.swift
中,所以要做存取都要使用此物件來存取,獲得此物件方式為
(UIApplication.sharedApplication().delegate) as! AppDelegate