In iOS it’s quite easy, you just delete the app and all of it’s data is removed as well. But how do you do it in OSX? Well, you should remove: ~/Library/Application Support/<YOUR OSX APP BUNDLE NAME>/ for example, by default should be: ~/Library/Application Support/com.yourcompany.yourapp/ And this is it! I suggest you do a Project …
Category Archives: development
Scheduled notifications in macOS
Notifications are a very useful addition to macOS applications, when done right can help inmensly. Here’s how you create scheduled and immediate notifications. Let’s start with the immediate ones: func triggerNotification() -> Void { let notification = NSUserNotification() notification.title = “titleOfNotification” notification.informativeText = “whateverTextYou WantToAdd” notification.soundName = …
Copy one or multiple NSTableView rows, Swift
So here’s a simple yet tricky one: you’ve created your NSTableView but now you would like to allow a user to copy to the clipboard one, or a couple of rows. How do you do it? 1. Implement the function copy (func copy(sender: AnyObject?){}), do not confuse with the method for duplicating an object. 2. Get the …
Continue reading “Copy one or multiple NSTableView rows, Swift”
Easy Core Data CSV Exporter in Swift
A new app I’m working on has a Core Data back end and I wanted to implement a quick way to export all the entities into a CSV file and dump it into the Desktop. Here are the snippets to do it: 1. Make sure you get the NSObjects you want to export (in this case …
Working with localized numbers – NSNumberFormatter Swift 2
In my case, I’m working on a csv importer and I wanted to get from the system the decimal and thousand delimiters. This is the way I do it, a workaround sure but works great: var thousandDelimiter = NSNumberFormatter.localizedStringFromNumber(NSNumber(double: 1234), numberStyle: NSNumberFormatterStyle.DecimalStyle) thousandDelimiter = thousandDelimiter.substringWithRange(thousandDelimiter.startIndex.advancedBy(1)…thousandDelimiter.startIndex.advancedBy(1)) var commaDelimiter = NSNumberFormatter.localizedStringFromNumber(NSNumber(double: 1.02), numberStyle: NSNumberFormatterStyle.DecimalStyle) commaDelimiter …
Continue reading “Working with localized numbers – NSNumberFormatter Swift 2”
Using NSValueTransformers (Value Transformer) Swift 2.0
So here’s a tricky one, on my upcoming app I sometimes use View-Based TableViews. Mostly, it works like magic, but sometimes you need to use a Value Transformer in the binding to allow the table to understand how to display something. In this example, I needed to convert a NSNumber to a String (and back!). Here’s …
Continue reading “Using NSValueTransformers (Value Transformer) Swift 2.0”
3 Steps to fetch in Core Data (Swift)
1. Get the managed context: let managedObjectContext = (NSApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext! //Change AppDelegate for the name of the class of your Application Delegate 2. Set a variable to store the data: var contentsOfTransactionFetchRequest = [] 3. Fetch the data you need let fetchRequest = NSFetchRequest(entityName: “Whatever”) …
Working with NSUserDefaults in Swift 2
I was quite pleased to see than in Swift is even easier than in Objective-C. Here is how you do it: Create a variable that can access them: var userDefaults = NSUserDefaults.standardUserDefaults() Add values to dictionary: userDefaults.setObject(“StringText”, forKey: “KeyInDictionary”) Read values from dictionary: let text = userDefaults.objectForKey(“KeyInDictionary”) as! …
Mouse Down (NSEvent in Swift 2)
As I continue adding features for my upcoming app I’m starting to work with NSEvents to add actions to user interaction. I’ve been amazed at how fast is to do this in Swift. For instance, detecting where the user presses a button in your window, and then converting it to the coordinate system of a …
Switching NSViewControllers from NSWindowController
This has taken quite some time to crack as there was not that much available information online. I wanted a very simple way to change the NSViewController of a window on the fly by using code. The solution I ended up with is quite easy, on the NSWindowController I load the default NSViewController by typing …
Continue reading “Switching NSViewControllers from NSWindowController”