pub struct WKInterfaceObject { /* private fields */ }WKInterfaceObject only.Expand description
Implementations§
Source§impl WKInterfaceObject
impl WKInterfaceObject
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
pub unsafe fn setHidden(&self, hidden: bool)
pub unsafe fn setAlpha(&self, alpha: CGFloat)
objc2-core-foundation only.pub unsafe fn setSemanticContentAttribute( &self, semantic_content_attribute: WKInterfaceSemanticContentAttribute, )
WKInterfaceDevice only.pub unsafe fn setHorizontalAlignment( &self, horizontal_alignment: WKInterfaceObjectHorizontalAlignment, )
pub unsafe fn setVerticalAlignment( &self, vertical_alignment: WKInterfaceObjectVerticalAlignment, )
pub unsafe fn setWidth(&self, width: CGFloat)
objc2-core-foundation only.pub unsafe fn setHeight(&self, height: CGFloat)
objc2-core-foundation only.pub unsafe fn setRelativeWidth_withAdjustment( &self, width: CGFloat, adjustment: CGFloat, )
objc2-core-foundation only.pub unsafe fn setRelativeHeight_withAdjustment( &self, height: CGFloat, adjustment: CGFloat, )
objc2-core-foundation only.pub unsafe fn sizeToFitWidth(&self)
pub unsafe fn sizeToFitHeight(&self)
pub unsafe fn interfaceProperty(&self) -> Retained<NSString>
Source§impl WKInterfaceObject
Methods declared on superclass NSObject.
impl WKInterfaceObject
Methods declared on superclass NSObject.
Source§impl WKInterfaceObject
WKAccessibility.
impl WKInterfaceObject
WKAccessibility.
pub unsafe fn setAccessibilityIdentifier( &self, accessibility_identifier: Option<&NSString>, )
pub unsafe fn setAccessibilityLabel( &self, accessibility_label: Option<&NSString>, )
pub unsafe fn setAccessibilityHint(&self, accessibility_hint: Option<&NSString>)
pub unsafe fn setAccessibilityValue( &self, accessibility_value: Option<&NSString>, )
pub unsafe fn setIsAccessibilityElement(&self, is_accessibility_element: bool)
pub unsafe fn setAccessibilityTraits( &self, accessibility_traits: UIAccessibilityTraits, )
objc2-ui-kit only.pub unsafe fn setAccessibilityImageRegions( &self, accessibility_image_regions: &NSArray<WKAccessibilityImageRegion>, )
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§impl AsRef<AnyObject> for WKInterfaceObject
impl AsRef<AnyObject> for WKInterfaceObject
Source§impl AsRef<NSObject> for WKInterfaceObject
impl AsRef<NSObject> for WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceActivityRing
Available on crate feature WKInterfaceActivityRing only.
impl AsRef<WKInterfaceObject> for WKInterfaceActivityRing
WKInterfaceActivityRing only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceAuthorizationAppleIDButton
Available on crate feature WKInterfaceAuthorizationAppleIDButton only.
impl AsRef<WKInterfaceObject> for WKInterfaceAuthorizationAppleIDButton
WKInterfaceAuthorizationAppleIDButton only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceButton
Available on crate feature WKInterfaceButton only.
impl AsRef<WKInterfaceObject> for WKInterfaceButton
WKInterfaceButton only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceDate
Available on crate feature WKInterfaceDate only.
impl AsRef<WKInterfaceObject> for WKInterfaceDate
WKInterfaceDate only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceGroup
Available on crate feature WKInterfaceGroup only.
impl AsRef<WKInterfaceObject> for WKInterfaceGroup
WKInterfaceGroup only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceHMCamera
Available on crate feature WKInterfaceHMCamera only.
impl AsRef<WKInterfaceObject> for WKInterfaceHMCamera
WKInterfaceHMCamera only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceImage
Available on crate feature WKInterfaceImage only.
impl AsRef<WKInterfaceObject> for WKInterfaceImage
WKInterfaceImage only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceInlineMovie
Available on crate feature WKInterfaceInlineMovie only.
impl AsRef<WKInterfaceObject> for WKInterfaceInlineMovie
WKInterfaceInlineMovie only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceLabel
Available on crate feature WKInterfaceLabel only.
impl AsRef<WKInterfaceObject> for WKInterfaceLabel
WKInterfaceLabel only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceMap
Available on crate feature WKInterfaceMap only.
impl AsRef<WKInterfaceObject> for WKInterfaceMap
WKInterfaceMap only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceMovie
Available on crate feature WKInterfaceMovie only.
impl AsRef<WKInterfaceObject> for WKInterfaceMovie
WKInterfaceMovie only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceObject
impl AsRef<WKInterfaceObject> for WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfacePaymentButton
Available on crate feature WKInterfacePaymentButton only.
impl AsRef<WKInterfaceObject> for WKInterfacePaymentButton
WKInterfacePaymentButton only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfacePicker
Available on crate feature WKInterfacePicker only.
impl AsRef<WKInterfaceObject> for WKInterfacePicker
WKInterfacePicker only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceSCNScene
Available on crate feature WKInterfaceSCNScene only.
impl AsRef<WKInterfaceObject> for WKInterfaceSCNScene
WKInterfaceSCNScene only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceSKScene
Available on crate feature WKInterfaceSKScene only.
impl AsRef<WKInterfaceObject> for WKInterfaceSKScene
WKInterfaceSKScene only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceSeparator
Available on crate feature WKInterfaceSeparator only.
impl AsRef<WKInterfaceObject> for WKInterfaceSeparator
WKInterfaceSeparator only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceSlider
Available on crate feature WKInterfaceSlider only.
impl AsRef<WKInterfaceObject> for WKInterfaceSlider
WKInterfaceSlider only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceSwitch
Available on crate feature WKInterfaceSwitch only.
impl AsRef<WKInterfaceObject> for WKInterfaceSwitch
WKInterfaceSwitch only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceTable
Available on crate feature WKInterfaceTable only.
impl AsRef<WKInterfaceObject> for WKInterfaceTable
WKInterfaceTable only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceTextField
Available on crate feature WKInterfaceTextField only.
impl AsRef<WKInterfaceObject> for WKInterfaceTextField
WKInterfaceTextField only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceTimer
Available on crate feature WKInterfaceTimer only.
impl AsRef<WKInterfaceObject> for WKInterfaceTimer
WKInterfaceTimer only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl AsRef<WKInterfaceObject> for WKInterfaceVolumeControl
Available on crate feature WKInterfaceVolumeControl only.
impl AsRef<WKInterfaceObject> for WKInterfaceVolumeControl
WKInterfaceVolumeControl only.Source§fn as_ref(&self) -> &WKInterfaceObject
fn as_ref(&self) -> &WKInterfaceObject
Source§impl Borrow<AnyObject> for WKInterfaceObject
impl Borrow<AnyObject> for WKInterfaceObject
Source§impl Borrow<NSObject> for WKInterfaceObject
impl Borrow<NSObject> for WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceActivityRing
Available on crate feature WKInterfaceActivityRing only.
impl Borrow<WKInterfaceObject> for WKInterfaceActivityRing
WKInterfaceActivityRing only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceAuthorizationAppleIDButton
Available on crate feature WKInterfaceAuthorizationAppleIDButton only.
impl Borrow<WKInterfaceObject> for WKInterfaceAuthorizationAppleIDButton
WKInterfaceAuthorizationAppleIDButton only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceButton
Available on crate feature WKInterfaceButton only.
impl Borrow<WKInterfaceObject> for WKInterfaceButton
WKInterfaceButton only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceDate
Available on crate feature WKInterfaceDate only.
impl Borrow<WKInterfaceObject> for WKInterfaceDate
WKInterfaceDate only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceGroup
Available on crate feature WKInterfaceGroup only.
impl Borrow<WKInterfaceObject> for WKInterfaceGroup
WKInterfaceGroup only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceHMCamera
Available on crate feature WKInterfaceHMCamera only.
impl Borrow<WKInterfaceObject> for WKInterfaceHMCamera
WKInterfaceHMCamera only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceImage
Available on crate feature WKInterfaceImage only.
impl Borrow<WKInterfaceObject> for WKInterfaceImage
WKInterfaceImage only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceInlineMovie
Available on crate feature WKInterfaceInlineMovie only.
impl Borrow<WKInterfaceObject> for WKInterfaceInlineMovie
WKInterfaceInlineMovie only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceLabel
Available on crate feature WKInterfaceLabel only.
impl Borrow<WKInterfaceObject> for WKInterfaceLabel
WKInterfaceLabel only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceMap
Available on crate feature WKInterfaceMap only.
impl Borrow<WKInterfaceObject> for WKInterfaceMap
WKInterfaceMap only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceMovie
Available on crate feature WKInterfaceMovie only.
impl Borrow<WKInterfaceObject> for WKInterfaceMovie
WKInterfaceMovie only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfacePaymentButton
Available on crate feature WKInterfacePaymentButton only.
impl Borrow<WKInterfaceObject> for WKInterfacePaymentButton
WKInterfacePaymentButton only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfacePicker
Available on crate feature WKInterfacePicker only.
impl Borrow<WKInterfaceObject> for WKInterfacePicker
WKInterfacePicker only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceSCNScene
Available on crate feature WKInterfaceSCNScene only.
impl Borrow<WKInterfaceObject> for WKInterfaceSCNScene
WKInterfaceSCNScene only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceSKScene
Available on crate feature WKInterfaceSKScene only.
impl Borrow<WKInterfaceObject> for WKInterfaceSKScene
WKInterfaceSKScene only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceSeparator
Available on crate feature WKInterfaceSeparator only.
impl Borrow<WKInterfaceObject> for WKInterfaceSeparator
WKInterfaceSeparator only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceSlider
Available on crate feature WKInterfaceSlider only.
impl Borrow<WKInterfaceObject> for WKInterfaceSlider
WKInterfaceSlider only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceSwitch
Available on crate feature WKInterfaceSwitch only.
impl Borrow<WKInterfaceObject> for WKInterfaceSwitch
WKInterfaceSwitch only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceTable
Available on crate feature WKInterfaceTable only.
impl Borrow<WKInterfaceObject> for WKInterfaceTable
WKInterfaceTable only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceTextField
Available on crate feature WKInterfaceTextField only.
impl Borrow<WKInterfaceObject> for WKInterfaceTextField
WKInterfaceTextField only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceTimer
Available on crate feature WKInterfaceTimer only.
impl Borrow<WKInterfaceObject> for WKInterfaceTimer
WKInterfaceTimer only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl Borrow<WKInterfaceObject> for WKInterfaceVolumeControl
Available on crate feature WKInterfaceVolumeControl only.
impl Borrow<WKInterfaceObject> for WKInterfaceVolumeControl
WKInterfaceVolumeControl only.Source§fn borrow(&self) -> &WKInterfaceObject
fn borrow(&self) -> &WKInterfaceObject
Source§impl ClassType for WKInterfaceObject
impl ClassType for WKInterfaceObject
Source§const NAME: &'static str = "WKInterfaceObject"
const NAME: &'static str = "WKInterfaceObject"
Source§type ThreadKind = <<WKInterfaceObject as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<WKInterfaceObject as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for WKInterfaceObject
impl Debug for WKInterfaceObject
Source§impl Deref for WKInterfaceObject
impl Deref for WKInterfaceObject
Source§impl Hash for WKInterfaceObject
impl Hash for WKInterfaceObject
Source§impl Message for WKInterfaceObject
impl Message for WKInterfaceObject
Source§impl NSObjectProtocol for WKInterfaceObject
impl NSObjectProtocol for WKInterfaceObject
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_ref