Mario tsai

做第一個自己的framework

來自 https://www.youtube.com/watch?v=TCnhvHUcjrY

可以當作做一個自己的第三方資料庫使用。

開一個project 例如: CoolUI

然後打包後,放到專案裡面,

** ARCHIVE SUCCEEDED **

import CoolUI 後就可以使用裡面方法。

  1. Create framework

2. Add needed classes

3. Build Settings / Build Libraries for Distribution set YES

4. Build Settings / Skip Install set NO

5. Open termnial

6. cd and drag the folder with project

--

--

under iOS13

class viewModel: {    var reloadCount: Int = 0    //ViewModel send to View   => react the event
var reloadCollectionView: ( ()->() )?

//View call ViewModel => user touch the Buttom (event)
func onTapCellButton() {
//changeDataFirst
reloadCount += 1 self. reloadCollectionView?()
}
}

--

--

It’s a true story. It happens by accident.

class VC1 :UIViewController() {  let viewModel = VC1ViewModel()  func callVC2(){     let vc2 = UIViewController()     vc2.onTap = { (value) in         self.viewModel.callMom()  }  deinit(){
print("VC1 dead")
}
}

So, When VC1 dismiss or popup. VC2 and viewModel still in alive.

It prints nothing.

Change callVC2 like this

func callVC2(){    let vc2 = UIViewController()    vc2.onTap = { [weak self] (value) in        self?.viewModel.callMom()}

When VC1 dismiss or popup, Your memory is free!!!

--

--

快速入門

use Realm

let realm = try! Realm()

Make a Model

import Foundation

import RealmSwift

class LogData: Object{

@Persisted(primaryKey: true) var _id: ObjectId

@Persisted var date: String?

@Persisted dynamic var time: String?

convenience init(content: String){

self.init()

}

}

func addNewLog(_ time:String,_ date:String) -> LogData{

let newLog = LogData()

newLog.time =…

--

--

增刪改檔案後記得下 composer dump-autoload

### 顯示路由
php artisan route:list

### new 一個controller
//做一個ProductController
php artisan make:controller ProductController

//做一個ProductController 包 …

--

--

Big company has lots of ObjC code

Swfit -> ObjC

/##Swift

var name:String = Mario

print(name)

/## ObjC

@interface ViewController ()

@property (nonatomic, strong) NSString* userName;

@end

@implementation ViewController

NSLog(@”%@”, self.userName);

@end

--

--

Mario tsai

Mario tsai

Major in physical education. Football referee. And high interest in looking the world through the numbers.