lib/ios: wrap NSUserDefaults
authorAlexis Laferrière <alexis.laf@xymus.net>
Thu, 11 Feb 2016 20:24:54 +0000 (15:24 -0500)
committerAlexis Laferrière <alexis.laf@xymus.net>
Fri, 12 Feb 2016 18:28:03 +0000 (13:28 -0500)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/cocoa/foundation.nit

index bbb27ab..2996315 100644 (file)
@@ -149,3 +149,24 @@ extern class NSIndexPath in "ObjC" `{ NSIndexPath * `}
                return [self indexAtPosition: position];
        `}
 end
+
+# Interface to the defaults system for an app to customize its behavior to match a user's preferences
+extern class NSUserDefaults in "ObjC" `{ NSUserDefaults * `}
+       super NSObject
+
+       # Wraps: `[NSUserDefaults standardUserDefaults]`
+       new standard_user_defaults in "ObjC" `{
+               return [NSUserDefaults standardUserDefaults];
+       `}
+
+       # Wraps: `[NSIndexPath stringForKey:]`
+       fun string_for_key(key: NSString): NSString in "ObjC" `{
+               return [self stringForKey: key];
+       `}
+
+       # Wraps: `[NSIndexPath setObject: forKey:]`
+       fun set_object(value: NSObject, default_name: NSString)
+       in "ObjC" `{
+               [self setObject:value forKey:default_name];
+       `}
+end