#[repr(C)]pub struct EKEventEditViewController { /* private fields */ }EKEventEditViewController and objc2-ui-kit only.Expand description
Implementations§
Source§impl EKEventEditViewController
impl EKEventEditViewController
pub unsafe fn editViewDelegate( &self, ) -> Option<Retained<ProtocolObject<dyn EKEventEditViewDelegate>>>
Sourcepub unsafe fn setEditViewDelegate(
&self,
edit_view_delegate: Option<&ProtocolObject<dyn EKEventEditViewDelegate>>,
)
pub unsafe fn setEditViewDelegate( &self, edit_view_delegate: Option<&ProtocolObject<dyn EKEventEditViewDelegate>>, )
This is a weak property.
Setter for editViewDelegate.
Sourcepub unsafe fn eventStore(&self) -> Option<Retained<EKEventStore>>
Available on crate feature objc2-event-kit only.
pub unsafe fn eventStore(&self) -> Option<Retained<EKEventStore>>
objc2-event-kit only.The event store to use to save events.
You must set this before presenting the view controller.
Sourcepub unsafe fn setEventStore(&self, event_store: Option<&EKEventStore>)
Available on crate feature objc2-event-kit only.
pub unsafe fn setEventStore(&self, event_store: Option<&EKEventStore>)
objc2-event-kit only.Setter for eventStore.
Sourcepub unsafe fn event(&self) -> Option<Retained<EKEvent>>
Available on crate feature objc2-event-kit only.
pub unsafe fn event(&self) -> Option<Retained<EKEvent>>
objc2-event-kit only.The event to edit.
You must set this before presenting the view controller. You can leave it set to nil and a new event will be created for you. If you pass an event here and it does not belong to the event store (if set) an exception will be raised.
Sourcepub unsafe fn setEvent(&self, event: Option<&EKEvent>)
Available on crate feature objc2-event-kit only.
pub unsafe fn setEvent(&self, event: Option<&EKEvent>)
objc2-event-kit only.Setter for event.
Sourcepub unsafe fn cancelEditing(&self)
pub unsafe fn cancelEditing(&self)
Ends the editing session discarding any changes to the event.
This method simulates the user tapping the Cancel button. The delegate will not receive the eventEditViewController:didCompleteWithAction: message, so you are responsible for dismissing the controller after calling this method.
Source§impl EKEventEditViewController
Methods declared on superclass UINavigationController.
impl EKEventEditViewController
Methods declared on superclass UINavigationController.
pub unsafe fn initWithRootViewController( this: Allocated<Self>, root_view_controller: &UIViewController, ) -> Retained<Self>
pub unsafe fn initWithNibName_bundle( this: Allocated<Self>, nib_name_or_nil: Option<&NSString>, nib_bundle_or_nil: Option<&NSBundle>, ) -> Retained<Self>
pub unsafe fn initWithCoder( this: Allocated<Self>, a_decoder: &NSCoder, ) -> Option<Retained<Self>>
Methods from Deref<Target = UINavigationController>§
Methods from Deref<Target = UIViewController>§
pub unsafe fn hidesBottomBarWhenPushed(&self) -> bool
UIResponder and UIViewController only.Sourcepub unsafe fn setHidesBottomBarWhenPushed(
&self,
hides_bottom_bar_when_pushed: bool,
)
Available on crate features UIResponder and UIViewController only.
pub unsafe fn setHidesBottomBarWhenPushed( &self, hides_bottom_bar_when_pushed: bool, )
UIResponder and UIViewController only.Setter for hidesBottomBarWhenPushed.
UIResponder and UIViewController only.pub unsafe fn loadView(&self)
UIResponder only.pub unsafe fn loadViewIfNeeded(&self)
UIResponder only.pub unsafe fn viewWillUnload(&self)
UIResponder only.pub unsafe fn viewDidUnload(&self)
UIResponder only.pub unsafe fn viewDidLoad(&self)
UIResponder only.pub unsafe fn isViewLoaded(&self) -> bool
UIResponder only.pub unsafe fn nibName(&self) -> Option<Retained<NSString>>
UIResponder only.pub unsafe fn nibBundle(&self) -> Option<Retained<NSBundle>>
UIResponder only.pub unsafe fn performSegueWithIdentifier_sender( &self, identifier: &NSString, sender: Option<&AnyObject>, )
UIResponder only.pub unsafe fn shouldPerformSegueWithIdentifier_sender( &self, identifier: &NSString, sender: Option<&AnyObject>, ) -> bool
UIResponder only.pub unsafe fn canPerformUnwindSegueAction_fromViewController_sender( &self, action: Sel, from_view_controller: &UIViewController, sender: Option<&AnyObject>, ) -> bool
UIResponder only.pub unsafe fn canPerformUnwindSegueAction_fromViewController_withSender( &self, action: Sel, from_view_controller: &UIViewController, sender: &AnyObject, ) -> bool
UIResponder only.pub unsafe fn viewControllerForUnwindSegueAction_fromViewController_withSender( &self, action: Sel, from_view_controller: &UIViewController, sender: Option<&AnyObject>, ) -> Option<Retained<UIViewController>>
UIResponder only.Sourcepub unsafe fn viewWillAppear(&self, animated: bool)
Available on crate feature UIResponder only.
pub unsafe fn viewWillAppear(&self, animated: bool)
UIResponder only.Called when the view is about to made visible, before it is added to the hierarchy. Because the view is not yet in the hierarchy at the time this method is called, it is too early in the appearance transition for many usages. Prefer -viewIsAppearing: instead of this method when possible. Only use this method when its exact timing before the appearance transition starts running is desired, such as to set up an alongside animation with a transition coordinator, or as a counterpart for paired code in a viewWillDisappear/viewDidDisappear callback that does not rely on the view or view controller’s trait collection or the view hierarchy.
Sourcepub unsafe fn viewIsAppearing(&self, animated: bool)
Available on crate feature UIResponder only.
pub unsafe fn viewIsAppearing(&self, animated: bool)
UIResponder only.Called when the view is becoming visible at the beginning of the appearance transition, after it has been added to the hierarchy and been laid out by its superview. This method is very similar to -viewWillAppear: and is always called shortly afterwards (so changes made in either callback will be visible to the user at the same time), but unlike -viewWillAppear:, at the time when -viewIsAppearing: is called all of the following are valid for the view controller and its own view:
- View controller and view’s trait collection
- View’s superview chain and window
- View’s geometry (e.g. frame/bounds, safe area insets, layout margins) Choose this method instead of -viewWillAppear: by default, as it is a direct replacement that provides equivalent or superior behavior in nearly all cases.
Sourcepub unsafe fn viewDidAppear(&self, animated: bool)
Available on crate feature UIResponder only.
pub unsafe fn viewDidAppear(&self, animated: bool)
UIResponder only.Called after the view has fully transitioned to visible, when any transition animations have completed.
Sourcepub unsafe fn viewWillDisappear(&self, animated: bool)
Available on crate feature UIResponder only.
pub unsafe fn viewWillDisappear(&self, animated: bool)
UIResponder only.Called when the view is about to be dismissed, covered, or otherwise hidden.
Sourcepub unsafe fn viewDidDisappear(&self, animated: bool)
Available on crate feature UIResponder only.
pub unsafe fn viewDidDisappear(&self, animated: bool)
UIResponder only.Called after the view has fully been dismissed, covered, or otherwise hidden, when any transition animations have completed.
pub unsafe fn viewWillLayoutSubviews(&self)
UIResponder only.pub unsafe fn viewDidLayoutSubviews(&self)
UIResponder only.pub unsafe fn title(&self) -> Option<Retained<NSString>>
UIResponder only.Sourcepub unsafe fn setTitle(&self, title: Option<&NSString>)
Available on crate feature UIResponder only.
pub unsafe fn setTitle(&self, title: Option<&NSString>)
UIResponder only.Setter for title.
pub unsafe fn didReceiveMemoryWarning(&self)
UIResponder only.pub unsafe fn parentViewController(&self) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn modalViewController(&self) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn presentedViewController( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn presentingViewController( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn definesPresentationContext(&self) -> bool
UIResponder only.Sourcepub unsafe fn setDefinesPresentationContext(
&self,
defines_presentation_context: bool,
)
Available on crate feature UIResponder only.
pub unsafe fn setDefinesPresentationContext( &self, defines_presentation_context: bool, )
UIResponder only.Setter for definesPresentationContext.
pub unsafe fn providesPresentationContextTransitionStyle(&self) -> bool
UIResponder only.Sourcepub unsafe fn setProvidesPresentationContextTransitionStyle(
&self,
provides_presentation_context_transition_style: bool,
)
Available on crate feature UIResponder only.
pub unsafe fn setProvidesPresentationContextTransitionStyle( &self, provides_presentation_context_transition_style: bool, )
UIResponder only.Setter for providesPresentationContextTransitionStyle.
pub unsafe fn restoresFocusAfterTransition(&self) -> bool
UIResponder only.Sourcepub unsafe fn setRestoresFocusAfterTransition(
&self,
restores_focus_after_transition: bool,
)
Available on crate feature UIResponder only.
pub unsafe fn setRestoresFocusAfterTransition( &self, restores_focus_after_transition: bool, )
UIResponder only.Setter for restoresFocusAfterTransition.
Sourcepub unsafe fn focusGroupIdentifier(&self) -> Option<Retained<NSString>>
Available on crate feature UIResponder only.
pub unsafe fn focusGroupIdentifier(&self) -> Option<Retained<NSString>>
UIResponder only.The identifier of the focus group that this view controller belongs to. If this is nil, the view controller inherits the focus group of its parent focus environment.
Sourcepub unsafe fn setFocusGroupIdentifier(
&self,
focus_group_identifier: Option<&NSString>,
)
Available on crate feature UIResponder only.
pub unsafe fn setFocusGroupIdentifier( &self, focus_group_identifier: Option<&NSString>, )
UIResponder only.Setter for focusGroupIdentifier.
Sourcepub unsafe fn interactionActivityTrackingBaseName(
&self,
) -> Option<Retained<NSString>>
Available on crate feature UIResponder only.
pub unsafe fn interactionActivityTrackingBaseName( &self, ) -> Option<Retained<NSString>>
UIResponder only.The base name for tracking user interactions as activities hosted by this view controller.
Sourcepub unsafe fn setInteractionActivityTrackingBaseName(
&self,
interaction_activity_tracking_base_name: Option<&NSString>,
)
Available on crate feature UIResponder only.
pub unsafe fn setInteractionActivityTrackingBaseName( &self, interaction_activity_tracking_base_name: Option<&NSString>, )
UIResponder only.Setter for interactionActivityTrackingBaseName.
pub unsafe fn isBeingPresented(&self) -> bool
UIResponder only.pub unsafe fn isBeingDismissed(&self) -> bool
UIResponder only.pub unsafe fn isMovingToParentViewController(&self) -> bool
UIResponder only.pub unsafe fn isMovingFromParentViewController(&self) -> bool
UIResponder only.pub unsafe fn presentModalViewController_animated( &self, modal_view_controller: &UIViewController, animated: bool, )
UIResponder only.pub unsafe fn dismissModalViewControllerAnimated(&self, animated: bool)
UIResponder only.pub unsafe fn modalTransitionStyle(&self) -> UIModalTransitionStyle
UIResponder only.Sourcepub unsafe fn setModalTransitionStyle(
&self,
modal_transition_style: UIModalTransitionStyle,
)
Available on crate feature UIResponder only.
pub unsafe fn setModalTransitionStyle( &self, modal_transition_style: UIModalTransitionStyle, )
UIResponder only.Setter for modalTransitionStyle.
pub unsafe fn modalPresentationStyle(&self) -> UIModalPresentationStyle
UIResponder only.Sourcepub unsafe fn setModalPresentationStyle(
&self,
modal_presentation_style: UIModalPresentationStyle,
)
Available on crate feature UIResponder only.
pub unsafe fn setModalPresentationStyle( &self, modal_presentation_style: UIModalPresentationStyle, )
UIResponder only.Setter for modalPresentationStyle.
pub unsafe fn modalPresentationCapturesStatusBarAppearance(&self) -> bool
UIResponder only.Sourcepub unsafe fn setModalPresentationCapturesStatusBarAppearance(
&self,
modal_presentation_captures_status_bar_appearance: bool,
)
Available on crate feature UIResponder only.
pub unsafe fn setModalPresentationCapturesStatusBarAppearance( &self, modal_presentation_captures_status_bar_appearance: bool, )
UIResponder only.Setter for modalPresentationCapturesStatusBarAppearance.
pub unsafe fn disablesAutomaticKeyboardDismissal(&self) -> bool
UIResponder only.pub unsafe fn wantsFullScreenLayout(&self) -> bool
UIResponder only.Sourcepub unsafe fn setWantsFullScreenLayout(&self, wants_full_screen_layout: bool)
👎DeprecatedAvailable on crate feature UIResponder only.
pub unsafe fn setWantsFullScreenLayout(&self, wants_full_screen_layout: bool)
UIResponder only.Setter for wantsFullScreenLayout.
pub unsafe fn extendedLayoutIncludesOpaqueBars(&self) -> bool
UIResponder only.Sourcepub unsafe fn setExtendedLayoutIncludesOpaqueBars(
&self,
extended_layout_includes_opaque_bars: bool,
)
Available on crate feature UIResponder only.
pub unsafe fn setExtendedLayoutIncludesOpaqueBars( &self, extended_layout_includes_opaque_bars: bool, )
UIResponder only.Setter for extendedLayoutIncludesOpaqueBars.
pub unsafe fn automaticallyAdjustsScrollViewInsets(&self) -> bool
UIResponder only.Sourcepub unsafe fn setAutomaticallyAdjustsScrollViewInsets(
&self,
automatically_adjusts_scroll_view_insets: bool,
)
👎Deprecated: Use UIScrollView’s contentInsetAdjustmentBehavior insteadAvailable on crate feature UIResponder only.
pub unsafe fn setAutomaticallyAdjustsScrollViewInsets( &self, automatically_adjusts_scroll_view_insets: bool, )
UIResponder only.Setter for automaticallyAdjustsScrollViewInsets.
pub unsafe fn prefersStatusBarHidden(&self) -> bool
UIResponder only.pub fn setNeedsStatusBarAppearanceUpdate(&self)
UIResponder only.pub unsafe fn targetViewControllerForAction_sender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn showViewController_sender( &self, vc: &UIViewController, sender: Option<&AnyObject>, )
UIResponder only.pub unsafe fn showDetailViewController_sender( &self, vc: &UIViewController, sender: Option<&AnyObject>, )
UIResponder only.pub unsafe fn setNeedsUserInterfaceAppearanceUpdate(&self)
UIResponder only.pub unsafe fn shouldAutorotate(&self) -> bool
UIResponder only.Sourcepub unsafe fn setNeedsUpdateOfSupportedInterfaceOrientations(&self)
Available on crate feature UIResponder only.
pub unsafe fn setNeedsUpdateOfSupportedInterfaceOrientations(&self)
UIResponder only.Notifies the view controller that a change occurred that affects supported interface orientations or the preferred interface orientation for presentation.
By default, this will animate any changes to orientation. To perform a non-animated update, call within [UIView performWithoutAnimation:].
pub unsafe fn isEditing(&self) -> bool
UIResponder only.Sourcepub unsafe fn setEditing(&self, editing: bool)
Available on crate feature UIResponder only.
pub unsafe fn setEditing(&self, editing: bool)
UIResponder only.Setter for isEditing.
pub unsafe fn setEditing_animated(&self, editing: bool, animated: bool)
UIResponder only.pub unsafe fn childViewControllers(&self) -> Retained<NSArray<UIViewController>>
UIResponder only.pub unsafe fn addChildViewController(&self, child_controller: &UIViewController)
UIResponder only.pub unsafe fn removeFromParentViewController(&self)
UIResponder only.pub unsafe fn beginAppearanceTransition_animated( &self, is_appearing: bool, animated: bool, )
UIResponder only.pub unsafe fn endAppearanceTransition(&self)
UIResponder only.pub unsafe fn childViewControllerForStatusBarStyle( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn childViewControllerForStatusBarHidden( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn setOverrideTraitCollection_forChildViewController( &self, collection: Option<&UITraitCollection>, child_view_controller: &UIViewController, )
UIResponder and UITraitCollection only.pub unsafe fn overrideTraitCollectionForChildViewController( &self, child_view_controller: &UIViewController, ) -> Option<Retained<UITraitCollection>>
UIResponder and UITraitCollection only.pub unsafe fn childViewControllerForUserInterfaceStyle( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers( &self, ) -> bool
UIResponder only.pub unsafe fn shouldAutomaticallyForwardRotationMethods(&self) -> bool
UIResponder only.pub unsafe fn shouldAutomaticallyForwardAppearanceMethods(&self) -> bool
UIResponder only.pub unsafe fn willMoveToParentViewController( &self, parent: Option<&UIViewController>, )
UIResponder only.pub unsafe fn didMoveToParentViewController( &self, parent: Option<&UIViewController>, )
UIResponder only.pub unsafe fn restorationIdentifier(&self) -> Option<Retained<NSString>>
UIResponder only.Sourcepub unsafe fn setRestorationIdentifier(
&self,
restoration_identifier: Option<&NSString>,
)
Available on crate feature UIResponder only.
pub unsafe fn setRestorationIdentifier( &self, restoration_identifier: Option<&NSString>, )
UIResponder only.Setter for restorationIdentifier.
pub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)
UIResponder only.pub unsafe fn decodeRestorableStateWithCoder(&self, coder: &NSCoder)
UIResponder only.pub unsafe fn applicationFinishedRestoringState(&self)
UIResponder only.pub unsafe fn updateViewConstraints(&self)
UIResponder only.pub unsafe fn viewRespectsSystemMinimumLayoutMargins(&self) -> bool
UIResponder only.Sourcepub unsafe fn setViewRespectsSystemMinimumLayoutMargins(
&self,
view_respects_system_minimum_layout_margins: bool,
)
Available on crate feature UIResponder only.
pub unsafe fn setViewRespectsSystemMinimumLayoutMargins( &self, view_respects_system_minimum_layout_margins: bool, )
UIResponder only.Setter for viewRespectsSystemMinimumLayoutMargins.
pub unsafe fn viewLayoutMarginsDidChange(&self)
UIResponder only.pub unsafe fn viewSafeAreaInsetsDidChange(&self)
UIResponder only.Sourcepub unsafe fn performsActionsWhilePresentingModally(&self) -> bool
Available on crate feature UIResponder only.
pub unsafe fn performsActionsWhilePresentingModally(&self) -> bool
UIResponder only.Determines whether the receiver continues to respond to actions while it is presenting a view controller modally.
Defaults to YES. You can change the default return value by providing a value for UIViewControllerPerformsActionsWhilePresentingModally in your Info.plist file.
pub unsafe fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>
UIResponder only.pub unsafe fn isModalInPresentation(&self) -> bool
UIResponder only.Sourcepub unsafe fn setModalInPresentation(&self, modal_in_presentation: bool)
Available on crate feature UIResponder only.
pub unsafe fn setModalInPresentation(&self, modal_in_presentation: bool)
UIResponder only.Setter for isModalInPresentation.
pub unsafe fn unregisterForPreviewingWithContext( &self, previewing: &ProtocolObject<dyn UIViewControllerPreviewing>, )
UIResponder only.pub unsafe fn childViewControllerForScreenEdgesDeferringSystemGestures( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub fn setNeedsUpdateOfScreenEdgesDeferringSystemGestures(&self)
UIResponder only.pub unsafe fn childViewControllerForHomeIndicatorAutoHidden( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn prefersHomeIndicatorAutoHidden(&self) -> bool
UIResponder only.pub fn setNeedsUpdateOfHomeIndicatorAutoHidden(&self)
UIResponder only.pub unsafe fn childViewControllerForPointerLock( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn prefersPointerLocked(&self) -> bool
UIResponder only.pub unsafe fn setNeedsUpdateOfPrefersPointerLocked(&self)
UIResponder only.Available on crate feature UIResponder only.
UIResponder only.Requests the view update its content unavailable configuration for its current state. This method is called automatically
when the view’s contentUnavailableConfigurationState may have changed, as well as in other circumstances where an
update may be required. Multiple requests may be coalesced into a single update at the appropriate time.
pub unsafe fn previewActionItems( &self, ) -> Retained<NSArray<ProtocolObject<dyn UIPreviewActionItem>>>
UIResponder only.pub unsafe fn traitOverrides( &self, ) -> Retained<ProtocolObject<dyn UITraitOverrides>>
UIResponder and UITraitCollection only.Sourcepub unsafe fn updateTraitsIfNeeded(&self)
Available on crate feature UIResponder only.
pub unsafe fn updateTraitsIfNeeded(&self)
UIResponder only.Forces an immediate trait update for this view controller and its view, including any view controllers and views in this subtree. Any trait change callbacks are sent synchronously.
pub unsafe fn preferredContainerBackgroundStyle( &self, ) -> UIContainerBackgroundStyle
UIResponder only.pub unsafe fn childViewControllerForPreferredContainerBackgroundStyle( &self, ) -> Option<Retained<UIViewController>>
UIResponder only.pub unsafe fn setNeedsUpdateOfPreferredContainerBackgroundStyle(&self)
UIResponder only.Methods from Deref<Target = UIResponder>§
pub unsafe fn nextResponder(&self) -> Option<Retained<UIResponder>>
pub unsafe fn canBecomeFirstResponder(&self) -> bool
pub unsafe fn becomeFirstResponder(&self) -> bool
pub unsafe fn canResignFirstResponder(&self) -> bool
pub unsafe fn resignFirstResponder(&self) -> bool
pub unsafe fn isFirstResponder(&self) -> bool
pub unsafe fn canPerformAction_withSender( &self, action: Sel, sender: Option<&AnyObject>, ) -> bool
pub unsafe fn targetForAction_withSender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<AnyObject>>
pub unsafe fn undoManager(&self) -> Option<Retained<NSUndoManager>>
pub unsafe fn editingInteractionConfiguration( &self, ) -> UIEditingInteractionConfiguration
pub unsafe fn textInputContextIdentifier(&self) -> Option<Retained<NSString>>
pub unsafe fn reloadInputViews(&self)
pub unsafe fn userActivity(&self) -> Option<Retained<NSUserActivity>>
Sourcepub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
pub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
Setter for userActivity.
pub unsafe fn updateUserActivityState(&self, activity: &NSUserActivity)
pub unsafe fn restoreUserActivityState(&self, activity: &NSUserActivity)
pub unsafe fn captureTextFromCamera(&self, sender: Option<&AnyObject>)
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.
§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 EKEventEditViewController
impl AsRef<AnyObject> for EKEventEditViewController
Source§impl AsRef<NSObject> for EKEventEditViewController
impl AsRef<NSObject> for EKEventEditViewController
Source§fn as_ref(&self) -> &UINavigationController
fn as_ref(&self) -> &UINavigationController
Source§impl AsRef<UIResponder> for EKEventEditViewController
impl AsRef<UIResponder> for EKEventEditViewController
Source§fn as_ref(&self) -> &UIResponder
fn as_ref(&self) -> &UIResponder
Source§impl AsRef<UIViewController> for EKEventEditViewController
impl AsRef<UIViewController> for EKEventEditViewController
Source§fn as_ref(&self) -> &UIViewController
fn as_ref(&self) -> &UIViewController
Source§impl Borrow<AnyObject> for EKEventEditViewController
impl Borrow<AnyObject> for EKEventEditViewController
Source§impl Borrow<NSObject> for EKEventEditViewController
impl Borrow<NSObject> for EKEventEditViewController
Source§fn borrow(&self) -> &UINavigationController
fn borrow(&self) -> &UINavigationController
Source§impl Borrow<UIResponder> for EKEventEditViewController
impl Borrow<UIResponder> for EKEventEditViewController
Source§fn borrow(&self) -> &UIResponder
fn borrow(&self) -> &UIResponder
Source§impl Borrow<UIViewController> for EKEventEditViewController
impl Borrow<UIViewController> for EKEventEditViewController
Source§fn borrow(&self) -> &UIViewController
fn borrow(&self) -> &UIViewController
Source§impl ClassType for EKEventEditViewController
impl ClassType for EKEventEditViewController
Source§const NAME: &'static str = "EKEventEditViewController"
const NAME: &'static str = "EKEventEditViewController"
Source§type Super = UINavigationController
type Super = UINavigationController
Source§type ThreadKind = <<EKEventEditViewController as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<EKEventEditViewController as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for EKEventEditViewController
impl Debug for EKEventEditViewController
Source§impl Deref for EKEventEditViewController
impl Deref for EKEventEditViewController
Source§impl Hash for EKEventEditViewController
impl Hash for EKEventEditViewController
Source§impl Message for EKEventEditViewController
impl Message for EKEventEditViewController
Source§impl NSCoding for EKEventEditViewController
impl NSCoding for EKEventEditViewController
Source§impl NSObjectProtocol for EKEventEditViewController
impl NSObjectProtocol for EKEventEditViewController
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_refSource§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§impl RefEncode for EKEventEditViewController
impl RefEncode for EKEventEditViewController
Source§const ENCODING_REF: Encoding = <UINavigationController as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <UINavigationController as ::objc2::RefEncode>::ENCODING_REF
Source§impl UIContentContainer for EKEventEditViewController
impl UIContentContainer for EKEventEditViewController
unsafe fn preferredContentSizeDidChangeForChildContentContainer( &self, container: &ProtocolObject<dyn UIContentContainer>, )
unsafe fn systemLayoutFittingSizeDidChangeForChildContentContainer( &self, container: &ProtocolObject<dyn UIContentContainer>, )
Source§impl UIFocusEnvironment for EKEventEditViewController
impl UIFocusEnvironment for EKEventEditViewController
Source§unsafe fn preferredFocusEnvironments(
&self,
) -> Retained<NSArray<ProtocolObject<dyn UIFocusEnvironment>>>
unsafe fn preferredFocusEnvironments( &self, ) -> Retained<NSArray<ProtocolObject<dyn UIFocusEnvironment>>>
Source§unsafe fn parentFocusEnvironment(
&self,
) -> Option<Retained<ProtocolObject<dyn UIFocusEnvironment>>>
unsafe fn parentFocusEnvironment( &self, ) -> Option<Retained<ProtocolObject<dyn UIFocusEnvironment>>>
Source§unsafe fn focusItemContainer(
&self,
) -> Option<Retained<ProtocolObject<dyn UIFocusItemContainer>>>
unsafe fn focusItemContainer( &self, ) -> Option<Retained<ProtocolObject<dyn UIFocusItemContainer>>>
Source§unsafe fn setNeedsFocusUpdate(&self)
unsafe fn setNeedsFocusUpdate(&self)
[[UIFocusSystem focusSystemForEnvironment:self] requestFocusUpdateToEnvironment:self];Source§unsafe fn updateFocusIfNeeded(&self)
unsafe fn updateFocusIfNeeded(&self)
[[UIFocusSystem focusSystemForEnvironment:self] updateFocusIfNeeded];.Source§unsafe fn shouldUpdateFocusInContext(
&self,
context: &UIFocusUpdateContext,
) -> bool
unsafe fn shouldUpdateFocusInContext( &self, context: &UIFocusUpdateContext, ) -> bool
Source§unsafe fn soundIdentifierForFocusUpdateInContext(
&self,
context: &UIFocusUpdateContext,
) -> Option<Retained<NSString>>
unsafe fn soundIdentifierForFocusUpdateInContext( &self, context: &UIFocusUpdateContext, ) -> Option<Retained<NSString>>
Source§impl UIResponderStandardEditActions for EKEventEditViewController
impl UIResponderStandardEditActions for EKEventEditViewController
unsafe fn cut(&self, sender: Option<&AnyObject>)
unsafe fn copy(&self, sender: Option<&AnyObject>)
unsafe fn paste(&self, sender: Option<&AnyObject>)
unsafe fn pasteAndMatchStyle(&self, sender: Option<&AnyObject>)
unsafe fn pasteAndGo(&self, sender: Option<&AnyObject>)
unsafe fn pasteAndSearch(&self, sender: Option<&AnyObject>)
unsafe fn select(&self, sender: Option<&AnyObject>)
unsafe fn selectAll(&self, sender: Option<&AnyObject>)
unsafe fn delete(&self, sender: Option<&AnyObject>)
unsafe fn makeTextWritingDirectionLeftToRight(&self, sender: Option<&AnyObject>)
unsafe fn makeTextWritingDirectionRightToLeft(&self, sender: Option<&AnyObject>)
unsafe fn toggleBoldface(&self, sender: Option<&AnyObject>)
unsafe fn toggleItalics(&self, sender: Option<&AnyObject>)
unsafe fn toggleUnderline(&self, sender: Option<&AnyObject>)
unsafe fn increaseSize(&self, sender: Option<&AnyObject>)
unsafe fn decreaseSize(&self, sender: Option<&AnyObject>)
unsafe fn find(&self, sender: Option<&AnyObject>)
unsafe fn findAndReplace(&self, sender: Option<&AnyObject>)
unsafe fn findNext(&self, sender: Option<&AnyObject>)
unsafe fn findPrevious(&self, sender: Option<&AnyObject>)
unsafe fn useSelectionForFind(&self, sender: Option<&AnyObject>)
unsafe fn print(&self, sender: Option<&AnyObject>)
unsafe fn rename(&self, sender: Option<&AnyObject>)
unsafe fn duplicate(&self, sender: Option<&AnyObject>)
unsafe fn move(&self, sender: Option<&AnyObject>)
unsafe fn export(&self, sender: Option<&AnyObject>)
unsafe fn showWritingTools(&self, sender: &AnyObject)
Source§impl UITraitEnvironment for EKEventEditViewController
impl UITraitEnvironment for EKEventEditViewController
fn traitCollection(&self) -> Retained<UITraitCollection>
Source§unsafe fn traitCollectionDidChange(
&self,
previous_trait_collection: Option<&UITraitCollection>,
)
unsafe fn traitCollectionDidChange( &self, previous_trait_collection: Option<&UITraitCollection>, )
impl DowncastTarget for EKEventEditViewController
impl Eq for EKEventEditViewController
impl UIAppearanceContainer for EKEventEditViewController
Auto Trait Implementations§
impl !Freeze for EKEventEditViewController
impl !RefUnwindSafe for EKEventEditViewController
impl !Send for EKEventEditViewController
impl !Sync for EKEventEditViewController
impl !Unpin for EKEventEditViewController
impl !UnwindSafe for EKEventEditViewController
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<'a, T> MainThreadOnly for T
impl<'a, T> MainThreadOnly for T
Source§fn mtm(&self) -> MainThreadMarker
fn mtm(&self) -> MainThreadMarker
MainThreadMarker from the main-thread-only object. Read more