A few years ago when Xojo released “Xojo for iOS”, I was excited… until I say everything that was missing or constrained with the product. It was then that I decided to teach myself Swift. And one thing that I did, both to teach myself things, but also to give me tools to use in the future, I began writing a number of “frameworks” [not just a term, not a true Swift Framework (yet) ]
What I plan on doing here, unless there is no interest, is to post a series of these code modules, almost all of which wrap Swift code into methods or functions that mimic as closely as possible a Xojo method or function.
The first one will involve File Management
here are the signatures for the classes that will be in the first few postings
class folderitem {
var name : String {
var parent : folderitem
var displayName : String
var exists : Bool
var isFolder : Bool
var isWriteable : Bool
var isReadable : Bool
var lastErrorCode : Int
var lastErrorMessage : String
var count : Int
var length : Int
var modificationDate : String
var creationDate : String
var path : String
var URLpath : String
var URL : URL
func child(_ name:String) -> folderitem
func item(_ index:Int) -> folderitem?
func CopyTo(name:String)
func MoveTo(destination:String)
func CreateAsFolder()
func Delete()
}
class SpecialFolderClass {
var Documents : folderitem
var ApplicationSupport : folderitem
var Resources : folderitem
var Temporary : folderitem
}
class textOutputFile {
func Append(_ f : folderitem )
func Create(_ f : folderitem )
var lastErrorCode : Int
var writeError : Bool
var lastErrorMessage : String
func close()
func writeLine(_ data : String)
func write(_ data : String)
}
class textInputFile {
var lastErrorCode : Int
var readError : Bool
var lastErrorMessage : String
func open(_ f : folderitem )
var EOF : Bool
func close()
var readALL : String
var readLine : String?
}
The first one will be FOLDERITEM… once I finish adding all the required comments.
Note this comments will attempt to follow the Xcode Markdown syntax
Also, if anyone sees ANYTHING that could be made better, PLEASE let me know.
Some of these were written back in Swift2.0 and things have changed between now and then.