【文件属性】:
文件名称:rust-block:Apple的C语言扩展块的Rust接口
文件大小:9KB
文件格式:ZIP
更新时间:2021-05-11 00:16:48
Rust
用于Apple C语言扩展块的Rust接口。
有关块实现细节的更多信息,请参见Clang的文档: :
调用块
Block结构用于从Objective-C调用块。 例如,考虑以下Objective-C函数:
int32_t sum ( int32_t (^block)( int32_t , int32_t )) {
return block ( 5 , 8 );
}
我们可以将其写在Rust中,如下所示:
unsafe fn sum (block: & Block<( i32 , i32 ), i32 >) -> i32 {
block. call (( 5 , 8 ))
}
请注意call方法中的多余括号,因为参数必须作为元组传递。
创建块
可以使用ConcreteBlock结构创建要传递给Objective-C的块。 例如,要创建一个添加两个i32的块,我们
【文件预览】:
rust-block-master
----.gitignore(53B)
----src()
--------test_utils.rs(754B)
--------lib.rs(12KB)
----test_utils()
--------block_utils.c(574B)
--------Cargo.toml(383B)
--------lib.rs(1KB)
--------build.rs(178B)
----.travis.yml(346B)
----Cargo.toml(531B)
----tests-ios()
--------prelude.rs(108B)
----travis_install.sh(256B)
----README.md(1KB)
----travis_test.sh(137B)