Comments (3)
These would be good changes to have but behind #if swift(>=3.2)
.
from filekit.
I make a class FileKit to get shared JSON/PropertyList encoder/decoder
And also for easy to use functions
try FileKit.write(encodable, to: .userTemporary + "test")
let decodable: MyClass = try FileKit.read(from: .userTemporary + "test")
Array of Codable are codable, so the same functions work
I add protocols JSONReadable
, JSONWritable
(or PropertyListReadable
/PropertyListWritable
) to be able to implement Readable
and Writable
and create File
with specific type just by implementing protocols
(an alias name could be added like JSONReadableWritable
if necessary for JSONWritable, JSONReadable)
This protocol define the encoder or decoder to use. By default the one shared by FileKit
struct TestJSONCodable: Codable {
let string: String
let integer: Int
}
extension TestJSONCodable: JSONWritable, JSONReadable {}
let encodable = TestJSONCodable(string: "test", integer: 9)
let codableFile = File<TestJSONCodable>(path: .userTemporary + "testcodable.json")
try codableFile.write(encodable)
let decodable: TestJSONCodable = try codableFile.read()
from filekit.
committed but need some doc in README
from filekit.
Related Issues (20)
- Cannot create directory/file with name has slash character. HOT 1
- CocoaPods version not updated HOT 3
- Feature Request: For adding/removing extended file attributes HOT 1
- Debugger support? HOT 1
- Codable doesn't conform to ReadableWritable HOT 1
- Path + String produces bad AnySequence result if Path ends with / and String starts with /
- Is there a way to write files to icloud using file kit? HOT 2
- Swift 4.1 Compatibility HOT 1
- 'pngData()' has been renamed to 'UIImagePNGRepresentation(_:)' HOT 1
- No way to get file base name (filename without extension)? HOT 4
- Need way to append a path extension without removing anything after a period HOT 1
- Pod version is older than latest release version. HOT 1
- Is there any way to encrypt a file ? HOT 1
- Please update cocoapods version to 6.0.0 HOT 5
- Deprecated method FileHandle.write(Data)
- Typo in ReadMe?
- CocoaPods extremely out-of-date (5.2 when it should be 6.0)
- Is there anyway to delete or clear contents of the file? HOT 1
- how to use it in SwiftUI
- Getting path of file used in other app
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from filekit.