oden/third-party/vendor/objc2
2024-03-08 11:03:01 -08:00
..
benches Vendor things 2024-03-08 11:03:01 -08:00
examples Vendor things 2024-03-08 11:03:01 -08:00
src Vendor things 2024-03-08 11:03:01 -08:00
tests Vendor things 2024-03-08 11:03:01 -08:00
.cargo-checksum.json Vendor things 2024-03-08 11:03:01 -08:00
Cargo.lock Vendor things 2024-03-08 11:03:01 -08:00
Cargo.toml Vendor things 2024-03-08 11:03:01 -08:00
CHANGELOG.md Vendor things 2024-03-08 11:03:01 -08:00
CHANGELOG_FOUNDATION.md Vendor things 2024-03-08 11:03:01 -08:00
README.md Vendor things 2024-03-08 11:03:01 -08:00

objc2

Latest version License Documentation CI

Objective-C interface and bindings to the Foundation framework in Rust.

Most of the core libraries and frameworks that are in use on Apple systems are written in Objective-C; this crate enables you to interract with those, and provides ready-made bindings for the Foundation framework in particular.

Example

use objc2::{class, msg_send, msg_send_id};
use objc2::ffi::NSUInteger;
use objc2::rc::{Id, Owned};
use objc2::runtime::Object;

let cls = class!(NSObject);
let obj: Id<Object, Owned> = unsafe { msg_send_id![cls, new] };

let hash: NSUInteger = unsafe { msg_send![&obj, hash] };
println!("NSObject hash: {}", hash);

See the docs for a more thorough overview, or jump right into the examples.

This crate is part of the objc2 project, see that for related crates.