1
1
use objc2:: rc:: autoreleasepool;
2
- use objc2_foundation:: { NSArray , NSCopying , NSDictionary , NSObject , NSString } ;
2
+ use objc2_foundation:: { ns_string , NSArray , NSDictionary , NSObject } ;
3
3
4
4
fn main ( ) {
5
5
// Create and compare NSObjects
@@ -24,19 +24,20 @@ fn main() {
24
24
let mut objs = NSArray :: into_vec ( array) ;
25
25
let obj = objs. pop ( ) . unwrap ( ) ;
26
26
27
- // Create an NSString from a str slice
28
- let string = NSString :: from_str ( "Hello, world!" ) ;
27
+ // Create a static NSString
28
+ let string = ns_string ! ( "Hello, world!" ) ;
29
29
// Use an autoreleasepool to get the `str` contents of the NSString
30
30
autoreleasepool ( |pool| {
31
31
println ! ( "{}" , string. as_str( pool) ) ;
32
- let string2 = string. copy ( ) ;
33
- println ! ( "{}" , string2. as_str( pool) ) ;
34
32
} ) ;
33
+ // Or simply use the `Display` implementation
34
+ let _s = string. to_string ( ) ; // Using ToString
35
+ println ! ( "{}" , string) ; // Or Display directly
35
36
36
37
// Create a dictionary mapping strings to objects
37
- let keys = & [ & * string] ;
38
+ let keys = & [ string] ;
38
39
let vals = vec ! [ obj] ;
39
40
let dict = NSDictionary :: from_keys_and_objects ( keys, vals) ;
40
- println ! ( "{:?}" , dict. get( & string) ) ;
41
+ println ! ( "{:?}" , dict. get( string) ) ;
41
42
println ! ( "{}" , dict. len( ) ) ;
42
43
}
0 commit comments