Skip to content

Commit 769ea10

Browse files
authored
Merge pull request #207 from madsmtm/static-nsstring
Add `ns_string!` macro
2 parents 82837c1 + e3bd2e0 commit 769ea10

21 files changed

+1496
-8
lines changed

objc2-foundation/examples/basic_usage.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use objc2::rc::autoreleasepool;
2-
use objc2_foundation::{NSArray, NSCopying, NSDictionary, NSObject, NSString};
2+
use objc2_foundation::{ns_string, NSArray, NSDictionary, NSObject};
33

44
fn 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

Comments
 (0)