use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[cfg(all(
feature = "UIResponder",
feature = "UIViewController",
feature = "block2"
))]
pub type UIStoryboardViewControllerCreator =
*mut block2::Block<dyn Fn(NonNull<NSCoder>) -> *mut UIViewController>;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
pub struct UIStoryboard;
unsafe impl ClassType for UIStoryboard {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UIStoryboard {}
extern_methods!(
unsafe impl UIStoryboard {
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other storyboardWithName:bundle:)]
pub unsafe fn storyboardWithName_bundle(
name: &NSString,
storyboard_bundle_or_nil: Option<&NSBundle>,
mtm: MainThreadMarker,
) -> Retained<UIStoryboard>;
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other instantiateInitialViewController)]
pub unsafe fn instantiateInitialViewController(&self)
-> Option<Retained<UIViewController>>;
#[cfg(all(
feature = "UIResponder",
feature = "UIViewController",
feature = "block2"
))]
#[method_id(@__retain_semantics Other instantiateInitialViewControllerWithCreator:)]
pub unsafe fn instantiateInitialViewControllerWithCreator(
&self,
block: UIStoryboardViewControllerCreator,
) -> Option<Retained<UIViewController>>;
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[deprecated = "Loading Interface Builder products will not be supported in a future version of visionOS."]
#[method_id(@__retain_semantics Other instantiateViewControllerWithIdentifier:)]
pub unsafe fn instantiateViewControllerWithIdentifier(
&self,
identifier: &NSString,
) -> Retained<UIViewController>;
#[cfg(all(
feature = "UIResponder",
feature = "UIViewController",
feature = "block2"
))]
#[method_id(@__retain_semantics Other instantiateViewControllerWithIdentifier:creator:)]
pub unsafe fn instantiateViewControllerWithIdentifier_creator(
&self,
identifier: &NSString,
block: UIStoryboardViewControllerCreator,
) -> Retained<UIViewController>;
}
);
extern_methods!(
unsafe impl UIStoryboard {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);