1use std::{collections::HashMap, marker::PhantomData};
2
3use objc::{class, msg_send, sel, sel_impl};
4
5use crate::{
6 objective_c_runtime::{
7 self, id, nil,
8 traits::{FromId, PNSObject},
9 },
10 shared_object,
11 utils::to_bool,
12};
13
14use super::{
15 INSMutableDictionary, Int, Int16, Int32, Int8, NSArray, NSMutableDictionary, NSNumber,
16 NSString, UInt, UInt16, UInt32, UInt8,
17};
18
19shared_object! {
20 unsafe pub struct NSDictionary<K, V> {
22 _key: PhantomData<K>,
23 _value: PhantomData<V>,
24 }
25}
26
27impl<K, V> NSDictionary<K, V> {
28 pub fn new() -> Self {
30 Self::m_dictionary()
31 }
32
33 pub fn count(&self) -> UInt {
35 self.p_count()
36 }
37
38 pub fn object_for_key(&self, key: K) -> Option<V>
40 where
41 K: Clone,
42 V: FromId,
43 {
44 self.m_object_for_key(key)
45 }
46}
47
48pub trait INSDictionary<K, V>: PNSObject {
50 fn m_dictionary() -> Self
55 where
56 Self: Sized + FromId,
57 {
58 unsafe { Self::from_id(msg_send![Self::m_class(), dictionary]) }
59 }
60
61 fn m_init() -> Self
63 where
64 Self: Sized + FromId,
65 {
66 unsafe { Self::from_id(msg_send![Self::m_class(), new]) }
67 }
68
69 fn m_dictionary_with_dictionary<D>(dictionary: D) -> Self
74 where
75 Self: Sized + FromId,
76 D: INSDictionary<K, V>,
77 {
78 unsafe {
79 Self::from_id(msg_send![
80 Self::m_class(),
81 dictionaryWithDictionary: dictionary
82 ])
83 }
84 }
85
86 fn m_init_with_dictionary(&mut self, dictionary: NSDictionary<K, V>) {
88 unsafe { msg_send![self.m_self(), initWithDictionary: dictionary] }
89 }
90
91 fn m_init_with_dictionary_copy_items(&mut self, dictionary: NSDictionary<K, V>, flag: bool) {
93 unsafe { msg_send![self.m_self(), initWithDictionary: dictionary copyItems: flag] }
94 }
95
96 fn p_count(&self) -> UInt {
101 unsafe { msg_send![self.m_self(), count] }
102 }
103
104 fn m_is_equal_to_dictionary<D>(&self, other: D) -> bool
109 where
110 D: INSDictionary<K, V>,
111 {
112 unsafe { to_bool(msg_send![self.m_self(), isEqualToDictionary: other.m_self()]) }
113 }
114
115 fn p_all_keys(&self) -> NSArray<K> {
120 unsafe { NSArray::from_id(msg_send![self.m_self(), allKeys]) }
121 }
122
123 fn m_all_keys_for_object(&self, object: &V) -> NSArray<K> {
125 unsafe { NSArray::from_id(msg_send![self.m_self(), allKeysForObject: object]) }
126 }
127
128 fn p_all_values(&self) -> NSArray<V> {
130 unsafe { NSArray::from_id(msg_send![self.m_self(), allValues]) }
131 }
132
133 fn m_value_for_key(&self, key: &K) -> Option<V>
135 where
136 V: FromId,
137 {
138 unsafe {
139 let ptr: id = msg_send![self.m_self(), valueForKey: key];
140
141 if ptr != nil {
142 Some(V::from_id(ptr))
143 } else {
144 None
145 }
146 }
147 }
148
149 fn m_get_objects_and_keys_count(&self, objects: *mut V, keys: *mut K, count: UInt) {
151 unsafe { msg_send![self.m_self(), getObjects: objects andKeys: keys count: count] }
152 }
153
154 fn m_objects_for_keys_not_found_marker(&self, keys: &NSArray<K>, value: &V) -> NSArray<V> {
156 unsafe {
157 NSArray::from_id(msg_send![self.m_self(), objectsForKeys: keys notFoundMarker: value])
158 }
159 }
160
161 fn m_object_for_key(&self, key: K) -> Option<V>
163 where
164 V: FromId,
165 {
166 unsafe {
167 let ptr: id = msg_send![self.m_self(), objectForKey: key];
168
169 if ptr != nil {
170 Some(V::from_id(ptr))
171 } else {
172 None
173 }
174 }
175 }
176
177 fn m_object_for_keyed_subscript(&self, key: &K) -> V
179 where
180 V: FromId,
181 {
182 unsafe { V::from_id(msg_send![self.m_self(), objectForKeyedSubscript: key]) }
183 }
184}
185
186impl<K, V> INSDictionary<K, V> for NSDictionary<K, V> {}
187
188unsafe impl<K, V> objective_c_runtime::Encode for NSDictionary<K, V> {
189 fn encode() -> objc::Encoding {
190 unsafe { objective_c_runtime::Encoding::from_str("@") }
191 }
192}
193
194impl<K, V> Default for NSDictionary<K, V> {
195 fn default() -> Self {
196 unsafe { Self::from_id(msg_send![class!(NSDictionary), dictionary]) }
197 }
198}
199
200impl<K, V> AsMut<NSDictionary<K, V>> for NSDictionary<K, V> {
201 fn as_mut(&mut self) -> &mut Self {
202 self
203 }
204}
205
206impl<K, V> From<id> for NSDictionary<K, V> {
207 #[allow(clippy::not_unsafe_ptr_arg_deref)]
208 fn from(obj: id) -> Self {
209 unsafe { Self::from_id(obj) }
210 }
211}
212
213impl<K, V> From<NSMutableDictionary<K, V>> for NSDictionary<K, V>
214where
215 K: PNSObject,
216 V: PNSObject,
217{
218 fn from(dict: NSMutableDictionary<K, V>) -> Self {
219 let cls: id = unsafe { msg_send![class!(NSDictionary), dictionaryWithDictionary: dict] };
220 NSDictionary::from(cls)
221 }
222}
223
224impl<K, V> From<HashMap<K, V>> for NSDictionary<K, V>
225where
226 K: PNSObject,
227 V: PNSObject,
228{
229 fn from(map: HashMap<K, V>) -> NSDictionary<K, V> {
230 let mut dictionary = NSMutableDictionary::<K, V>::default();
231
232 for (key, value) in map {
233 dictionary.im_set_object_for_key(key, value);
234 }
235
236 dictionary.into()
237 }
238}
239
240impl<K> From<HashMap<K, &str>> for NSDictionary<K, NSString>
241where
242 K: PNSObject,
243{
244 fn from(map: HashMap<K, &str>) -> NSDictionary<K, NSString> {
245 let mut dictionary = NSMutableDictionary::<K, NSString>::default();
246
247 for (key, value) in map {
248 let value = NSString::from(value);
249 dictionary.im_set_object_for_key(key, value);
250 }
251
252 dictionary.into()
253 }
254}
255
256impl<V> From<HashMap<&str, V>> for NSDictionary<NSString, V>
257where
258 V: PNSObject,
259{
260 fn from(map: HashMap<&str, V>) -> NSDictionary<NSString, V> {
261 let mut dictionary = NSMutableDictionary::<NSString, V>::default();
262
263 for (key, value) in map {
264 let key = NSString::from(key);
265 dictionary.im_set_object_for_key(key, value);
266 }
267
268 dictionary.into()
269 }
270}
271
272impl From<HashMap<&str, &str>> for NSDictionary<NSString, NSString> {
273 fn from(map: HashMap<&str, &str>) -> NSDictionary<NSString, NSString> {
274 let mut dictionary = NSMutableDictionary::<NSString, NSString>::default();
275
276 for (key, value) in map {
277 let key = NSString::from(key);
278 let value = NSString::from(value);
279 dictionary.im_set_object_for_key(key, value);
280 }
281
282 dictionary.into()
283 }
284}
285
286impl From<HashMap<&str, UInt>> for NSDictionary<NSString, NSNumber> {
287 fn from(map: HashMap<&str, UInt>) -> NSDictionary<NSString, NSNumber> {
288 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
289
290 for (key, value) in map {
291 let key = NSString::from(key);
292 let value = NSNumber::from(value);
293 dictionary.im_set_object_for_key(key, value);
294 }
295
296 dictionary.into()
297 }
298}
299
300impl From<HashMap<&str, UInt8>> for NSDictionary<NSString, NSNumber> {
301 fn from(map: HashMap<&str, UInt8>) -> NSDictionary<NSString, NSNumber> {
302 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
303
304 for (key, value) in map {
305 let key = NSString::from(key);
306 let value = NSNumber::from(value);
307 dictionary.im_set_object_for_key(key, value);
308 }
309
310 dictionary.into()
311 }
312}
313
314impl From<HashMap<&str, UInt16>> for NSDictionary<NSString, NSNumber> {
315 fn from(map: HashMap<&str, UInt16>) -> NSDictionary<NSString, NSNumber> {
316 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
317
318 for (key, value) in map {
319 let key = NSString::from(key);
320 let value = NSNumber::from(value);
321 dictionary.im_set_object_for_key(key, value);
322 }
323
324 dictionary.into()
325 }
326}
327
328impl From<HashMap<&str, UInt32>> for NSDictionary<NSString, NSNumber> {
329 fn from(map: HashMap<&str, UInt32>) -> NSDictionary<NSString, NSNumber> {
330 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
331
332 for (key, value) in map {
333 let key = NSString::from(key);
334 let value = NSNumber::from(value);
335 dictionary.im_set_object_for_key(key, value);
336 }
337
338 dictionary.into()
339 }
340}
341
342impl From<HashMap<&str, Int>> for NSDictionary<NSString, NSNumber> {
343 fn from(map: HashMap<&str, Int>) -> NSDictionary<NSString, NSNumber> {
344 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
345
346 for (key, value) in map {
347 let key = NSString::from(key);
348 let value = NSNumber::from(value);
349 dictionary.im_set_object_for_key(key, value);
350 }
351
352 dictionary.into()
353 }
354}
355
356impl From<HashMap<&str, Int8>> for NSDictionary<NSString, NSNumber> {
357 fn from(map: HashMap<&str, Int8>) -> NSDictionary<NSString, NSNumber> {
358 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
359
360 for (key, value) in map {
361 let key = NSString::from(key);
362 let value = NSNumber::from(value);
363 dictionary.im_set_object_for_key(key, value);
364 }
365
366 dictionary.into()
367 }
368}
369
370impl From<HashMap<&str, Int16>> for NSDictionary<NSString, NSNumber> {
371 fn from(map: HashMap<&str, Int16>) -> NSDictionary<NSString, NSNumber> {
372 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
373
374 for (key, value) in map {
375 let key = NSString::from(key);
376 let value = NSNumber::from(value);
377 dictionary.im_set_object_for_key(key, value);
378 }
379
380 dictionary.into()
381 }
382}
383
384impl From<HashMap<&str, Int32>> for NSDictionary<NSString, NSNumber> {
385 fn from(map: HashMap<&str, Int32>) -> NSDictionary<NSString, NSNumber> {
386 let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
387
388 for (key, value) in map {
389 let key = NSString::from(key);
390 let value = NSNumber::from(value);
391 dictionary.im_set_object_for_key(key, value);
392 }
393
394 dictionary.into()
395 }
396}
397
398impl From<HashMap<UInt, &str>> for NSDictionary<NSNumber, NSString> {
399 fn from(map: HashMap<UInt, &str>) -> NSDictionary<NSNumber, NSString> {
400 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
401
402 for (key, value) in map {
403 let key = NSNumber::from(key);
404 let value = NSString::from(value);
405 dictionary.im_set_object_for_key(key, value);
406 }
407
408 dictionary.into()
409 }
410}
411
412impl From<HashMap<UInt, UInt>> for NSDictionary<NSNumber, NSNumber> {
413 fn from(map: HashMap<UInt, UInt>) -> NSDictionary<NSNumber, NSNumber> {
414 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
415
416 for (key, value) in map {
417 let key = NSNumber::from(key);
418 let value = NSNumber::from(value);
419 dictionary.im_set_object_for_key(key, value);
420 }
421
422 dictionary.into()
423 }
424}
425
426impl From<HashMap<UInt, UInt8>> for NSDictionary<NSNumber, NSNumber> {
427 fn from(map: HashMap<UInt, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
428 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
429
430 for (key, value) in map {
431 let key = NSNumber::from(key);
432 let value = NSNumber::from(value);
433 dictionary.im_set_object_for_key(key, value);
434 }
435
436 dictionary.into()
437 }
438}
439
440impl From<HashMap<UInt, UInt16>> for NSDictionary<NSNumber, NSNumber> {
441 fn from(map: HashMap<UInt, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
442 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
443
444 for (key, value) in map {
445 let key = NSNumber::from(key);
446 let value = NSNumber::from(value);
447 dictionary.im_set_object_for_key(key, value);
448 }
449
450 dictionary.into()
451 }
452}
453
454impl From<HashMap<UInt, UInt32>> for NSDictionary<NSNumber, NSNumber> {
455 fn from(map: HashMap<UInt, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
456 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
457
458 for (key, value) in map {
459 let key = NSNumber::from(key);
460 let value = NSNumber::from(value);
461 dictionary.im_set_object_for_key(key, value);
462 }
463
464 dictionary.into()
465 }
466}
467
468impl From<HashMap<UInt, Int>> for NSDictionary<NSNumber, NSNumber> {
469 fn from(map: HashMap<UInt, Int>) -> NSDictionary<NSNumber, NSNumber> {
470 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
471
472 for (key, value) in map {
473 let key = NSNumber::from(key);
474 let value = NSNumber::from(value);
475 dictionary.im_set_object_for_key(key, value);
476 }
477
478 dictionary.into()
479 }
480}
481
482impl From<HashMap<UInt, Int8>> for NSDictionary<NSNumber, NSNumber> {
483 fn from(map: HashMap<UInt, Int8>) -> NSDictionary<NSNumber, NSNumber> {
484 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
485
486 for (key, value) in map {
487 let key = NSNumber::from(key);
488 let value = NSNumber::from(value);
489 dictionary.im_set_object_for_key(key, value);
490 }
491
492 dictionary.into()
493 }
494}
495
496impl From<HashMap<UInt, Int16>> for NSDictionary<NSNumber, NSNumber> {
497 fn from(map: HashMap<UInt, Int16>) -> NSDictionary<NSNumber, NSNumber> {
498 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
499
500 for (key, value) in map {
501 let key = NSNumber::from(key);
502 let value = NSNumber::from(value);
503 dictionary.im_set_object_for_key(key, value);
504 }
505
506 dictionary.into()
507 }
508}
509
510impl From<HashMap<UInt, Int32>> for NSDictionary<NSNumber, NSNumber> {
511 fn from(map: HashMap<UInt, Int32>) -> NSDictionary<NSNumber, NSNumber> {
512 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
513
514 for (key, value) in map {
515 let key = NSNumber::from(key);
516 let value = NSNumber::from(value);
517 dictionary.im_set_object_for_key(key, value);
518 }
519
520 dictionary.into()
521 }
522}
523
524impl From<HashMap<UInt8, &str>> for NSDictionary<NSNumber, NSString> {
525 fn from(map: HashMap<UInt8, &str>) -> NSDictionary<NSNumber, NSString> {
526 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
527
528 for (key, value) in map {
529 let key = NSNumber::from(key);
530 let value = NSString::from(value);
531 dictionary.im_set_object_for_key(key, value);
532 }
533
534 dictionary.into()
535 }
536}
537
538impl From<HashMap<UInt8, UInt>> for NSDictionary<NSNumber, NSNumber> {
539 fn from(map: HashMap<UInt8, UInt>) -> NSDictionary<NSNumber, NSNumber> {
540 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
541
542 for (key, value) in map {
543 let key = NSNumber::from(key);
544 let value = NSNumber::from(value);
545 dictionary.im_set_object_for_key(key, value);
546 }
547
548 dictionary.into()
549 }
550}
551
552impl From<HashMap<UInt8, UInt8>> for NSDictionary<NSNumber, NSNumber> {
553 fn from(map: HashMap<UInt8, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
554 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
555
556 for (key, value) in map {
557 let key = NSNumber::from(key);
558 let value = NSNumber::from(value);
559 dictionary.im_set_object_for_key(key, value);
560 }
561
562 dictionary.into()
563 }
564}
565
566impl From<HashMap<UInt8, UInt16>> for NSDictionary<NSNumber, NSNumber> {
567 fn from(map: HashMap<UInt8, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
568 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
569
570 for (key, value) in map {
571 let key = NSNumber::from(key);
572 let value = NSNumber::from(value);
573 dictionary.im_set_object_for_key(key, value);
574 }
575
576 dictionary.into()
577 }
578}
579
580impl From<HashMap<UInt8, UInt32>> for NSDictionary<NSNumber, NSNumber> {
581 fn from(map: HashMap<UInt8, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
582 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
583
584 for (key, value) in map {
585 let key = NSNumber::from(key);
586 let value = NSNumber::from(value);
587 dictionary.im_set_object_for_key(key, value);
588 }
589
590 dictionary.into()
591 }
592}
593
594impl From<HashMap<UInt8, Int>> for NSDictionary<NSNumber, NSNumber> {
595 fn from(map: HashMap<UInt8, Int>) -> NSDictionary<NSNumber, NSNumber> {
596 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
597
598 for (key, value) in map {
599 let key = NSNumber::from(key);
600 let value = NSNumber::from(value);
601 dictionary.im_set_object_for_key(key, value);
602 }
603
604 dictionary.into()
605 }
606}
607
608impl From<HashMap<UInt8, Int8>> for NSDictionary<NSNumber, NSNumber> {
609 fn from(map: HashMap<UInt8, Int8>) -> NSDictionary<NSNumber, NSNumber> {
610 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
611
612 for (key, value) in map {
613 let key = NSNumber::from(key);
614 let value = NSNumber::from(value);
615 dictionary.im_set_object_for_key(key, value);
616 }
617
618 dictionary.into()
619 }
620}
621
622impl From<HashMap<UInt8, Int16>> for NSDictionary<NSNumber, NSNumber> {
623 fn from(map: HashMap<UInt8, Int16>) -> NSDictionary<NSNumber, NSNumber> {
624 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
625
626 for (key, value) in map {
627 let key = NSNumber::from(key);
628 let value = NSNumber::from(value);
629 dictionary.im_set_object_for_key(key, value);
630 }
631
632 dictionary.into()
633 }
634}
635
636impl From<HashMap<UInt8, Int32>> for NSDictionary<NSNumber, NSNumber> {
637 fn from(map: HashMap<UInt8, Int32>) -> NSDictionary<NSNumber, NSNumber> {
638 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
639
640 for (key, value) in map {
641 let key = NSNumber::from(key);
642 let value = NSNumber::from(value);
643 dictionary.im_set_object_for_key(key, value);
644 }
645
646 dictionary.into()
647 }
648}
649
650impl From<HashMap<UInt16, &str>> for NSDictionary<NSNumber, NSString> {
651 fn from(map: HashMap<UInt16, &str>) -> NSDictionary<NSNumber, NSString> {
652 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
653
654 for (key, value) in map {
655 let key = NSNumber::from(key);
656 let value = NSString::from(value);
657 dictionary.im_set_object_for_key(key, value);
658 }
659
660 dictionary.into()
661 }
662}
663
664impl From<HashMap<UInt16, UInt>> for NSDictionary<NSNumber, NSNumber> {
665 fn from(map: HashMap<UInt16, UInt>) -> NSDictionary<NSNumber, NSNumber> {
666 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
667
668 for (key, value) in map {
669 let key = NSNumber::from(key);
670 let value = NSNumber::from(value);
671 dictionary.im_set_object_for_key(key, value);
672 }
673
674 dictionary.into()
675 }
676}
677
678impl From<HashMap<UInt16, UInt8>> for NSDictionary<NSNumber, NSNumber> {
679 fn from(map: HashMap<UInt16, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
680 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
681
682 for (key, value) in map {
683 let key = NSNumber::from(key);
684 let value = NSNumber::from(value);
685 dictionary.im_set_object_for_key(key, value);
686 }
687
688 dictionary.into()
689 }
690}
691
692impl From<HashMap<UInt16, UInt16>> for NSDictionary<NSNumber, NSNumber> {
693 fn from(map: HashMap<UInt16, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
694 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
695
696 for (key, value) in map {
697 let key = NSNumber::from(key);
698 let value = NSNumber::from(value);
699 dictionary.im_set_object_for_key(key, value);
700 }
701
702 dictionary.into()
703 }
704}
705
706impl From<HashMap<UInt16, UInt32>> for NSDictionary<NSNumber, NSNumber> {
707 fn from(map: HashMap<UInt16, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
708 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
709
710 for (key, value) in map {
711 let key = NSNumber::from(key);
712 let value = NSNumber::from(value);
713 dictionary.im_set_object_for_key(key, value);
714 }
715
716 dictionary.into()
717 }
718}
719
720impl From<HashMap<UInt16, Int>> for NSDictionary<NSNumber, NSNumber> {
721 fn from(map: HashMap<UInt16, Int>) -> NSDictionary<NSNumber, NSNumber> {
722 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
723
724 for (key, value) in map {
725 let key = NSNumber::from(key);
726 let value = NSNumber::from(value);
727 dictionary.im_set_object_for_key(key, value);
728 }
729
730 dictionary.into()
731 }
732}
733
734impl From<HashMap<UInt16, Int8>> for NSDictionary<NSNumber, NSNumber> {
735 fn from(map: HashMap<UInt16, Int8>) -> NSDictionary<NSNumber, NSNumber> {
736 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
737
738 for (key, value) in map {
739 let key = NSNumber::from(key);
740 let value = NSNumber::from(value);
741 dictionary.im_set_object_for_key(key, value);
742 }
743
744 dictionary.into()
745 }
746}
747
748impl From<HashMap<UInt16, Int16>> for NSDictionary<NSNumber, NSNumber> {
749 fn from(map: HashMap<UInt16, Int16>) -> NSDictionary<NSNumber, NSNumber> {
750 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
751
752 for (key, value) in map {
753 let key = NSNumber::from(key);
754 let value = NSNumber::from(value);
755 dictionary.im_set_object_for_key(key, value);
756 }
757
758 dictionary.into()
759 }
760}
761
762impl From<HashMap<UInt16, Int32>> for NSDictionary<NSNumber, NSNumber> {
763 fn from(map: HashMap<UInt16, Int32>) -> NSDictionary<NSNumber, NSNumber> {
764 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
765
766 for (key, value) in map {
767 let key = NSNumber::from(key);
768 let value = NSNumber::from(value);
769 dictionary.im_set_object_for_key(key, value);
770 }
771
772 dictionary.into()
773 }
774}
775
776impl From<HashMap<UInt32, &str>> for NSDictionary<NSNumber, NSString> {
777 fn from(map: HashMap<UInt32, &str>) -> NSDictionary<NSNumber, NSString> {
778 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
779
780 for (key, value) in map {
781 let key = NSNumber::from(key);
782 let value = NSString::from(value);
783 dictionary.im_set_object_for_key(key, value);
784 }
785
786 dictionary.into()
787 }
788}
789
790impl From<HashMap<UInt32, UInt>> for NSDictionary<NSNumber, NSNumber> {
791 fn from(map: HashMap<UInt32, UInt>) -> NSDictionary<NSNumber, NSNumber> {
792 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
793
794 for (key, value) in map {
795 let key = NSNumber::from(key);
796 let value = NSNumber::from(value);
797 dictionary.im_set_object_for_key(key, value);
798 }
799
800 dictionary.into()
801 }
802}
803
804impl From<HashMap<UInt32, UInt8>> for NSDictionary<NSNumber, NSNumber> {
805 fn from(map: HashMap<UInt32, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
806 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
807
808 for (key, value) in map {
809 let key = NSNumber::from(key);
810 let value = NSNumber::from(value);
811 dictionary.im_set_object_for_key(key, value);
812 }
813
814 dictionary.into()
815 }
816}
817
818impl From<HashMap<UInt32, UInt16>> for NSDictionary<NSNumber, NSNumber> {
819 fn from(map: HashMap<UInt32, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
820 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
821
822 for (key, value) in map {
823 let key = NSNumber::from(key);
824 let value = NSNumber::from(value);
825 dictionary.im_set_object_for_key(key, value);
826 }
827
828 dictionary.into()
829 }
830}
831
832impl From<HashMap<UInt32, UInt32>> for NSDictionary<NSNumber, NSNumber> {
833 fn from(map: HashMap<UInt32, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
834 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
835
836 for (key, value) in map {
837 let key = NSNumber::from(key);
838 let value = NSNumber::from(value);
839 dictionary.im_set_object_for_key(key, value);
840 }
841
842 dictionary.into()
843 }
844}
845
846impl From<HashMap<UInt32, Int>> for NSDictionary<NSNumber, NSNumber> {
847 fn from(map: HashMap<UInt32, Int>) -> NSDictionary<NSNumber, NSNumber> {
848 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
849
850 for (key, value) in map {
851 let key = NSNumber::from(key);
852 let value = NSNumber::from(value);
853 dictionary.im_set_object_for_key(key, value);
854 }
855
856 dictionary.into()
857 }
858}
859
860impl From<HashMap<UInt32, Int8>> for NSDictionary<NSNumber, NSNumber> {
861 fn from(map: HashMap<UInt32, Int8>) -> NSDictionary<NSNumber, NSNumber> {
862 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
863
864 for (key, value) in map {
865 let key = NSNumber::from(key);
866 let value = NSNumber::from(value);
867 dictionary.im_set_object_for_key(key, value);
868 }
869
870 dictionary.into()
871 }
872}
873
874impl From<HashMap<UInt32, Int16>> for NSDictionary<NSNumber, NSNumber> {
875 fn from(map: HashMap<UInt32, Int16>) -> NSDictionary<NSNumber, NSNumber> {
876 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
877
878 for (key, value) in map {
879 let key = NSNumber::from(key);
880 let value = NSNumber::from(value);
881 dictionary.im_set_object_for_key(key, value);
882 }
883
884 dictionary.into()
885 }
886}
887
888impl From<HashMap<UInt32, Int32>> for NSDictionary<NSNumber, NSNumber> {
889 fn from(map: HashMap<UInt32, Int32>) -> NSDictionary<NSNumber, NSNumber> {
890 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
891
892 for (key, value) in map {
893 let key = NSNumber::from(key);
894 let value = NSNumber::from(value);
895 dictionary.im_set_object_for_key(key, value);
896 }
897
898 dictionary.into()
899 }
900}
901
902impl From<HashMap<Int, &str>> for NSDictionary<NSNumber, NSString> {
903 fn from(map: HashMap<Int, &str>) -> NSDictionary<NSNumber, NSString> {
904 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
905
906 for (key, value) in map {
907 let key = NSNumber::from(key);
908 let value = NSString::from(value);
909 dictionary.im_set_object_for_key(key, value);
910 }
911
912 dictionary.into()
913 }
914}
915
916impl From<HashMap<Int, UInt>> for NSDictionary<NSNumber, NSNumber> {
917 fn from(map: HashMap<Int, UInt>) -> NSDictionary<NSNumber, NSNumber> {
918 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
919
920 for (key, value) in map {
921 let key = NSNumber::from(key);
922 let value = NSNumber::from(value);
923 dictionary.im_set_object_for_key(key, value);
924 }
925
926 dictionary.into()
927 }
928}
929
930impl From<HashMap<Int, UInt8>> for NSDictionary<NSNumber, NSNumber> {
931 fn from(map: HashMap<Int, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
932 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
933
934 for (key, value) in map {
935 let key = NSNumber::from(key);
936 let value = NSNumber::from(value);
937 dictionary.im_set_object_for_key(key, value);
938 }
939
940 dictionary.into()
941 }
942}
943
944impl From<HashMap<Int, UInt16>> for NSDictionary<NSNumber, NSNumber> {
945 fn from(map: HashMap<Int, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
946 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
947
948 for (key, value) in map {
949 let key = NSNumber::from(key);
950 let value = NSNumber::from(value);
951 dictionary.im_set_object_for_key(key, value);
952 }
953
954 dictionary.into()
955 }
956}
957
958impl From<HashMap<Int, UInt32>> for NSDictionary<NSNumber, NSNumber> {
959 fn from(map: HashMap<Int, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
960 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
961
962 for (key, value) in map {
963 let key = NSNumber::from(key);
964 let value = NSNumber::from(value);
965 dictionary.im_set_object_for_key(key, value);
966 }
967
968 dictionary.into()
969 }
970}
971
972impl From<HashMap<Int, Int>> for NSDictionary<NSNumber, NSNumber> {
973 fn from(map: HashMap<Int, Int>) -> NSDictionary<NSNumber, NSNumber> {
974 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
975
976 for (key, value) in map {
977 let key = NSNumber::from(key);
978 let value = NSNumber::from(value);
979 dictionary.im_set_object_for_key(key, value);
980 }
981
982 dictionary.into()
983 }
984}
985
986impl From<HashMap<Int, Int8>> for NSDictionary<NSNumber, NSNumber> {
987 fn from(map: HashMap<Int, Int8>) -> NSDictionary<NSNumber, NSNumber> {
988 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
989
990 for (key, value) in map {
991 let key = NSNumber::from(key);
992 let value = NSNumber::from(value);
993 dictionary.im_set_object_for_key(key, value);
994 }
995
996 dictionary.into()
997 }
998}
999
1000impl From<HashMap<Int, Int16>> for NSDictionary<NSNumber, NSNumber> {
1001 fn from(map: HashMap<Int, Int16>) -> NSDictionary<NSNumber, NSNumber> {
1002 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1003
1004 for (key, value) in map {
1005 let key = NSNumber::from(key);
1006 let value = NSNumber::from(value);
1007 dictionary.im_set_object_for_key(key, value);
1008 }
1009
1010 dictionary.into()
1011 }
1012}
1013
1014impl From<HashMap<Int, Int32>> for NSDictionary<NSNumber, NSNumber> {
1015 fn from(map: HashMap<Int, Int32>) -> NSDictionary<NSNumber, NSNumber> {
1016 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1017
1018 for (key, value) in map {
1019 let key = NSNumber::from(key);
1020 let value = NSNumber::from(value);
1021 dictionary.im_set_object_for_key(key, value);
1022 }
1023
1024 dictionary.into()
1025 }
1026}
1027
1028impl From<HashMap<Int8, &str>> for NSDictionary<NSNumber, NSString> {
1029 fn from(map: HashMap<Int8, &str>) -> NSDictionary<NSNumber, NSString> {
1030 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
1031
1032 for (key, value) in map {
1033 let key = NSNumber::from(key);
1034 let value = NSString::from(value);
1035 dictionary.im_set_object_for_key(key, value);
1036 }
1037
1038 dictionary.into()
1039 }
1040}
1041
1042impl From<HashMap<Int8, UInt>> for NSDictionary<NSNumber, NSNumber> {
1043 fn from(map: HashMap<Int8, UInt>) -> NSDictionary<NSNumber, NSNumber> {
1044 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1045
1046 for (key, value) in map {
1047 let key = NSNumber::from(key);
1048 let value = NSNumber::from(value);
1049 dictionary.im_set_object_for_key(key, value);
1050 }
1051
1052 dictionary.into()
1053 }
1054}
1055
1056impl From<HashMap<Int8, UInt8>> for NSDictionary<NSNumber, NSNumber> {
1057 fn from(map: HashMap<Int8, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
1058 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1059
1060 for (key, value) in map {
1061 let key = NSNumber::from(key);
1062 let value = NSNumber::from(value);
1063 dictionary.im_set_object_for_key(key, value);
1064 }
1065
1066 dictionary.into()
1067 }
1068}
1069
1070impl From<HashMap<Int8, UInt16>> for NSDictionary<NSNumber, NSNumber> {
1071 fn from(map: HashMap<Int8, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
1072 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1073
1074 for (key, value) in map {
1075 let key = NSNumber::from(key);
1076 let value = NSNumber::from(value);
1077 dictionary.im_set_object_for_key(key, value);
1078 }
1079
1080 dictionary.into()
1081 }
1082}
1083
1084impl From<HashMap<Int8, UInt32>> for NSDictionary<NSNumber, NSNumber> {
1085 fn from(map: HashMap<Int8, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
1086 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1087
1088 for (key, value) in map {
1089 let key = NSNumber::from(key);
1090 let value = NSNumber::from(value);
1091 dictionary.im_set_object_for_key(key, value);
1092 }
1093
1094 dictionary.into()
1095 }
1096}
1097
1098impl From<HashMap<Int8, Int>> for NSDictionary<NSNumber, NSNumber> {
1099 fn from(map: HashMap<Int8, Int>) -> NSDictionary<NSNumber, NSNumber> {
1100 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1101
1102 for (key, value) in map {
1103 let key = NSNumber::from(key);
1104 let value = NSNumber::from(value);
1105 dictionary.im_set_object_for_key(key, value);
1106 }
1107
1108 dictionary.into()
1109 }
1110}
1111
1112impl From<HashMap<Int8, Int8>> for NSDictionary<NSNumber, NSNumber> {
1113 fn from(map: HashMap<Int8, Int8>) -> NSDictionary<NSNumber, NSNumber> {
1114 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1115
1116 for (key, value) in map {
1117 let key = NSNumber::from(key);
1118 let value = NSNumber::from(value);
1119 dictionary.im_set_object_for_key(key, value);
1120 }
1121
1122 dictionary.into()
1123 }
1124}
1125
1126impl From<HashMap<Int8, Int16>> for NSDictionary<NSNumber, NSNumber> {
1127 fn from(map: HashMap<Int8, Int16>) -> NSDictionary<NSNumber, NSNumber> {
1128 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1129
1130 for (key, value) in map {
1131 let key = NSNumber::from(key);
1132 let value = NSNumber::from(value);
1133 dictionary.im_set_object_for_key(key, value);
1134 }
1135
1136 dictionary.into()
1137 }
1138}
1139
1140impl From<HashMap<Int8, Int32>> for NSDictionary<NSNumber, NSNumber> {
1141 fn from(map: HashMap<Int8, Int32>) -> NSDictionary<NSNumber, NSNumber> {
1142 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1143
1144 for (key, value) in map {
1145 let key = NSNumber::from(key);
1146 let value = NSNumber::from(value);
1147 dictionary.im_set_object_for_key(key, value);
1148 }
1149
1150 dictionary.into()
1151 }
1152}
1153
1154impl From<HashMap<Int16, &str>> for NSDictionary<NSNumber, NSString> {
1155 fn from(map: HashMap<Int16, &str>) -> NSDictionary<NSNumber, NSString> {
1156 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
1157
1158 for (key, value) in map {
1159 let key = NSNumber::from(key);
1160 let value = NSString::from(value);
1161 dictionary.im_set_object_for_key(key, value);
1162 }
1163
1164 dictionary.into()
1165 }
1166}
1167
1168impl From<HashMap<Int16, UInt>> for NSDictionary<NSNumber, NSNumber> {
1169 fn from(map: HashMap<Int16, UInt>) -> NSDictionary<NSNumber, NSNumber> {
1170 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1171
1172 for (key, value) in map {
1173 let key = NSNumber::from(key);
1174 let value = NSNumber::from(value);
1175 dictionary.im_set_object_for_key(key, value);
1176 }
1177
1178 dictionary.into()
1179 }
1180}
1181
1182impl From<HashMap<Int16, UInt8>> for NSDictionary<NSNumber, NSNumber> {
1183 fn from(map: HashMap<Int16, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
1184 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1185
1186 for (key, value) in map {
1187 let key = NSNumber::from(key);
1188 let value = NSNumber::from(value);
1189 dictionary.im_set_object_for_key(key, value);
1190 }
1191
1192 dictionary.into()
1193 }
1194}
1195
1196impl From<HashMap<Int16, UInt16>> for NSDictionary<NSNumber, NSNumber> {
1197 fn from(map: HashMap<Int16, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
1198 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1199
1200 for (key, value) in map {
1201 let key = NSNumber::from(key);
1202 let value = NSNumber::from(value);
1203 dictionary.im_set_object_for_key(key, value);
1204 }
1205
1206 dictionary.into()
1207 }
1208}
1209
1210impl From<HashMap<Int16, UInt32>> for NSDictionary<NSNumber, NSNumber> {
1211 fn from(map: HashMap<Int16, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
1212 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1213
1214 for (key, value) in map {
1215 let key = NSNumber::from(key);
1216 let value = NSNumber::from(value);
1217 dictionary.im_set_object_for_key(key, value);
1218 }
1219
1220 dictionary.into()
1221 }
1222}
1223
1224impl From<HashMap<Int16, Int>> for NSDictionary<NSNumber, NSNumber> {
1225 fn from(map: HashMap<Int16, Int>) -> NSDictionary<NSNumber, NSNumber> {
1226 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1227
1228 for (key, value) in map {
1229 let key = NSNumber::from(key);
1230 let value = NSNumber::from(value);
1231 dictionary.im_set_object_for_key(key, value);
1232 }
1233
1234 dictionary.into()
1235 }
1236}
1237
1238impl From<HashMap<Int16, Int8>> for NSDictionary<NSNumber, NSNumber> {
1239 fn from(map: HashMap<Int16, Int8>) -> NSDictionary<NSNumber, NSNumber> {
1240 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1241
1242 for (key, value) in map {
1243 let key = NSNumber::from(key);
1244 let value = NSNumber::from(value);
1245 dictionary.im_set_object_for_key(key, value);
1246 }
1247
1248 dictionary.into()
1249 }
1250}
1251
1252impl From<HashMap<Int16, Int16>> for NSDictionary<NSNumber, NSNumber> {
1253 fn from(map: HashMap<Int16, Int16>) -> NSDictionary<NSNumber, NSNumber> {
1254 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1255
1256 for (key, value) in map {
1257 let key = NSNumber::from(key);
1258 let value = NSNumber::from(value);
1259 dictionary.im_set_object_for_key(key, value);
1260 }
1261
1262 dictionary.into()
1263 }
1264}
1265
1266impl From<HashMap<Int16, Int32>> for NSDictionary<NSNumber, NSNumber> {
1267 fn from(map: HashMap<Int16, Int32>) -> NSDictionary<NSNumber, NSNumber> {
1268 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1269
1270 for (key, value) in map {
1271 let key = NSNumber::from(key);
1272 let value = NSNumber::from(value);
1273 dictionary.im_set_object_for_key(key, value);
1274 }
1275
1276 dictionary.into()
1277 }
1278}
1279
1280impl From<HashMap<Int32, &str>> for NSDictionary<NSNumber, NSString> {
1281 fn from(map: HashMap<Int32, &str>) -> NSDictionary<NSNumber, NSString> {
1282 let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
1283
1284 for (key, value) in map {
1285 let key = NSNumber::from(key);
1286 let value = NSString::from(value);
1287 dictionary.im_set_object_for_key(key, value);
1288 }
1289
1290 dictionary.into()
1291 }
1292}
1293
1294impl From<HashMap<Int32, UInt>> for NSDictionary<NSNumber, NSNumber> {
1295 fn from(map: HashMap<Int32, UInt>) -> NSDictionary<NSNumber, NSNumber> {
1296 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1297
1298 for (key, value) in map {
1299 let key = NSNumber::from(key);
1300 let value = NSNumber::from(value);
1301 dictionary.im_set_object_for_key(key, value);
1302 }
1303
1304 dictionary.into()
1305 }
1306}
1307
1308impl From<HashMap<Int32, UInt8>> for NSDictionary<NSNumber, NSNumber> {
1309 fn from(map: HashMap<Int32, UInt8>) -> NSDictionary<NSNumber, NSNumber> {
1310 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1311
1312 for (key, value) in map {
1313 let key = NSNumber::from(key);
1314 let value = NSNumber::from(value);
1315 dictionary.im_set_object_for_key(key, value);
1316 }
1317
1318 dictionary.into()
1319 }
1320}
1321
1322impl From<HashMap<Int32, UInt16>> for NSDictionary<NSNumber, NSNumber> {
1323 fn from(map: HashMap<Int32, UInt16>) -> NSDictionary<NSNumber, NSNumber> {
1324 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1325
1326 for (key, value) in map {
1327 let key = NSNumber::from(key);
1328 let value = NSNumber::from(value);
1329 dictionary.im_set_object_for_key(key, value);
1330 }
1331
1332 dictionary.into()
1333 }
1334}
1335
1336impl From<HashMap<Int32, UInt32>> for NSDictionary<NSNumber, NSNumber> {
1337 fn from(map: HashMap<Int32, UInt32>) -> NSDictionary<NSNumber, NSNumber> {
1338 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1339
1340 for (key, value) in map {
1341 let key = NSNumber::from(key);
1342 let value = NSNumber::from(value);
1343 dictionary.im_set_object_for_key(key, value);
1344 }
1345
1346 dictionary.into()
1347 }
1348}
1349
1350impl From<HashMap<Int32, Int>> for NSDictionary<NSNumber, NSNumber> {
1351 fn from(map: HashMap<Int32, Int>) -> NSDictionary<NSNumber, NSNumber> {
1352 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1353
1354 for (key, value) in map {
1355 let key = NSNumber::from(key);
1356 let value = NSNumber::from(value);
1357 dictionary.im_set_object_for_key(key, value);
1358 }
1359
1360 dictionary.into()
1361 }
1362}
1363
1364impl From<HashMap<Int32, Int8>> for NSDictionary<NSNumber, NSNumber> {
1365 fn from(map: HashMap<Int32, Int8>) -> NSDictionary<NSNumber, NSNumber> {
1366 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1367
1368 for (key, value) in map {
1369 let key = NSNumber::from(key);
1370 let value = NSNumber::from(value);
1371 dictionary.im_set_object_for_key(key, value);
1372 }
1373
1374 dictionary.into()
1375 }
1376}
1377
1378impl From<HashMap<Int32, Int16>> for NSDictionary<NSNumber, NSNumber> {
1379 fn from(map: HashMap<Int32, Int16>) -> NSDictionary<NSNumber, NSNumber> {
1380 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1381
1382 for (key, value) in map {
1383 let key = NSNumber::from(key);
1384 let value = NSNumber::from(value);
1385 dictionary.im_set_object_for_key(key, value);
1386 }
1387
1388 dictionary.into()
1389 }
1390}
1391
1392impl From<HashMap<Int32, Int32>> for NSDictionary<NSNumber, NSNumber> {
1393 fn from(map: HashMap<Int32, Int32>) -> NSDictionary<NSNumber, NSNumber> {
1394 let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1395
1396 for (key, value) in map {
1397 let key = NSNumber::from(key);
1398 let value = NSNumber::from(value);
1399 dictionary.im_set_object_for_key(key, value);
1400 }
1401
1402 dictionary.into()
1403 }
1404}