16 个版本 (6 个稳定版)
4.0.3 | 2024年5月21日 |
---|---|
4.0.0 | 2023年12月3日 |
3.0.0 | 2023年7月31日 |
2.0.0 | 2023年6月20日 |
1.1.0 | 2021年11月19日 |
#197 in macOS 和 iOS APIs
454,944 个月下载量
在 1,834 个 crate 中使用 (通过 objc2)
80KB
2K SLoC
objc2-encode
Rust 中的 Objective-C 类型编码
此 crate 提供了用于解析和比较使用 @encode
指令创建的 Objective-C 类型编码的类型。
有关更全面的概述,请参阅 文档。
此 crate 是 objc2
项目 的一部分,请参阅该项目以获取相关 crate。
lib.rs
:
Objective-C 类型编码
Objective-C 指令 @encode
将类型编码为字符串,并在运行时各种地方使用。
此 crate 提供了 Encoding
类型来描述和比较这些类型编码,以及 EncodingBox
类型,它执行相同的功能,但可以在运行时从编码中解析。
此 crate 中的类型作为 objc2::encode
在 objc2
crate 中导出,因此通常您会从那里使用它。
示例
解析字符串中的编码并将其与已知编码进行比较。
use objc2_encode::{Encoding, EncodingBox};
let s = "{s=i}";
let enc = Encoding::Struct("s", &[Encoding::Int]);
let parsed: EncodingBox = s.parse()?;
assert!(enc.equivalent_to_box(&parsed));
assert_eq!(enc.to_string(), s);