11use objc2:: rc:: autoreleasepool;
2- use objc2_foundation:: { NSArray , NSCopying , NSDictionary , NSObject , NSString } ;
2+ use objc2_foundation:: { ns_string , NSArray , NSDictionary , NSObject } ;
33
44fn main ( ) {
55 // Create and compare NSObjects
@@ -24,19 +24,20 @@ fn main() {
2424 let mut objs = NSArray :: into_vec ( array) ;
2525 let obj = objs. pop ( ) . unwrap ( ) ;
2626
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!" ) ;
2929 // Use an autoreleasepool to get the `str` contents of the NSString
3030 autoreleasepool ( |pool| {
3131 println ! ( "{}" , string. as_str( pool) ) ;
32- let string2 = string. copy ( ) ;
33- println ! ( "{}" , string2. as_str( pool) ) ;
3432 } ) ;
33+ // Or simply use the `Display` implementation
34+ let _s = string. to_string ( ) ; // Using ToString
35+ println ! ( "{}" , string) ; // Or Display directly
3536
3637 // Create a dictionary mapping strings to objects
37- let keys = & [ & * string] ;
38+ let keys = & [ string] ;
3839 let vals = vec ! [ obj] ;
3940 let dict = NSDictionary :: from_keys_and_objects ( keys, vals) ;
40- println ! ( "{:?}" , dict. get( & string) ) ;
41+ println ! ( "{:?}" , dict. get( string) ) ;
4142 println ! ( "{}" , dict. len( ) ) ;
4243}
0 commit comments