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 SMLib
by adding it to your Podfile
:
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'SMLib'
end
Note 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.