lib/cocoa: fix to_nsstring to use UTF-8 encoding
[nit.git] / lib / cocoa / foundation.nit
index bbb27ab..d84bab3 100644 (file)
@@ -45,13 +45,13 @@ redef class NativeString
        fun to_nsstring(length: Int): NSString in "ObjC" `{
                return [[NSString alloc] initWithBytes:self
                        length:length
-                       encoding:NSASCIIStringEncoding];
+                       encoding:NSUTF8StringEncoding];
        `}
 end
 
 redef class Text
        # Get a `NSString` from `self`
-       fun to_nsstring: NSString do return to_cstring.to_nsstring(length)
+       fun to_nsstring: NSString do return to_cstring.to_nsstring(bytelen)
 end
 
 # Wrapper of byte buffers
@@ -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