SMLib is a small library which implements SuperMemo SM2 Algorithm.
- iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
- Xcode 9+
You can use CocoaPods to install SMLibby adding it to your Podfile:
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'SMLib'
endNote that this requires CocoaPods version 36, and your iOS deployment target to be at least 8.0:
You can use Carthage to install SMLib by adding it to your Cartfile:
github "tosbaha/SMLib"
You can use The Swift Package Manager to install SMLib by adding the proper description to your Package.swift file:
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
targets: [],
dependencies: [
.Package(url: "https://github.com/tosbaha/SMLib.git", majorVersion: 1),
]
)Note that the Swift Package Manager is still in early design and development, for more information checkout its GitHub Page
import SMLib
let card = Flashcard(front: "Front", back: "Back")
let flashcardgrade = Grade.pass
let engine = SM2Engine()
let gradedCard = engine.gradeFlashcard(flashcard: card, grade: flashcardgrade, currentDatetime: NSDate().timeIntervalSince1970)Please check Tests,Example and SuperMemo SM2 Algorithm page for the details of the algorithm.
Contributions are welcome! Feel free to submit a pull request.
SMLib is released under the MIT license. See LICENSE for details.