`

引用navigationController对象

 
阅读更多

 

我以前在一个controller中引用一个naviController总是要通过delegate来取得:

 

[[[[UIApplication sharedApplication] delegate ] naviController] pushViewController: printView animated:TRUE];

 

 

今天在源代码中发现有注释是这样的:

 

@property(nonatomic,readonly,retain) UINavigationController *navigationController; // If this view controller has been pushed onto a navigation controller, return it.
 

发现在控制器中就直接有这个对象属性了:

 

[self.navigationController pushViewController: printView animated:TRUE];

 

[self.navigationController presentModalViewController:self.worldCitiesListNavigationController animated:YES];

 

不知道的东西太多了。

分享到:
评论

相关推荐

    自己突然间用到了代理

    guard let senderViewController = navigationController?.viewControllers.first as? SenderViewController else { return } senderViewController.delegate = self } func didReceiveData(data: Any) { // ...

    iOS block传值

    使用`__block`关键字可以解决这个问题,确保在Block执行完毕后,对Block内部引用的对象进行正确的释放。 在实际应用中,Block不仅可以用于页面间的数据传递,还可以用于处理异步操作的结果,如网络请求、定时器等。...

    Swift 实现单例 代理 通知 的设计模式 OC 跟 Swift 如何混编

    在这里,`SomeClass`有一个`MyDelegate`类型的弱引用代理,当触发`triggerAction()`时,它会调用代理的方法。 至于通知中心,它是Objective-C中的NSNotificationCenter在Swift中的表现形式,用于对象间的广播通信。...

    ios mvp架构封装导航栏与tabbar封装

    在iOS中,Model通常对应于Swift的结构体或类,View可以是UIViewController的子类,而Presenter则是一个独立的对象,它持有对View和Model的引用。 在iOS应用中,导航栏(Navigation Bar)和TabBar是常见的UI组件。...

    ios应用源码之面试题讲解 20181210

    4. **内存管理**:iOS使用ARC(Automatic Reference Counting)进行内存管理,面试官可能会问及引用计数、循环引用和autoreleasepool的概念,以及如何避免内存泄漏。 5. **多线程**:iOS开发中,GCD(Grand Central ...

    ios开发block反向传值

    在iOS开发中,数据传递是应用之间或页面之间交互的关键环节。传统的数据传递方式包括代理(Delegate)、通知...同时,需要注意的是,过度使用Block可能会导致内存泄漏问题,因此在使用时要注意Block的引用计数管理。

    block反向传值

    不过需要注意的是,由于Block会捕获其定义范围内的局部变量,可能导致循环引用(strong reference cycle)。在Objective-C中,可以使用__weak关键字来避免这个问题。 总之,通过Block,我们可以轻松地在两个独立的...

    iOS中Block的回调使用和解析详解

    Block是Objective-C中的一种强大的特性,它允许我们将代码块封装为一个对象,可以在需要的时候执行。在iOS开发中,Block经常被用来实现回调机制,尤其是处理异步操作或者跨对象通信时。本篇文章将深入讲解如何在iOS...

    iphone view之间传送数据

    6. **模型对象**:在多个视图之间共享同一个模型对象,通过修改模型对象来间接传递数据。这种方式适用于数据需要在多个视图间保持一致的情况。 在实际应用中,选择哪种方式取决于具体需求,如视图间的关联性、数据...

    Xcode6下界面切换

    首先,我们需要了解Objective-C,它是苹果公司为iOS和macOS平台开发的面向对象的编程语言。它基于C语言,并且引入了Smalltalk的动态特性,使得代码更加灵活和易于理解。在Xcode6中,Objective-C是开发iOS应用的主要...

    iPhone 开发多视图切换 代码

    - 为Segue分配一个标识符并在代码中引用,调用performSegue(withIdentifier:sender:)方法触发切换。 ```swift performSegue(withIdentifier: "MySegueIdentifier", sender: self) ``` 5. **代码创建视图控制器*...

    斯坦福大学ios7开发课程demo程序4——第6课导航控制器

    在iOS应用设计中,常常将TabBar和NavigationController结合使用,构建出复杂的导航结构,允许用户在多个顶级视图之间切换,同时在每个视图内部进行深度导航。 总结来说,"斯坦福大学ios7开发课程demo程序4——第6课...

    IOS应用源码之多种视图切换方式集锦 .rar

    - UIStoryboardSegue是Storyboard中的连接对象,用于在不同视图控制器间进行过渡。 - 可以在`prepare(for:sender:)`方法中传递数据,根据segue identifier进行处理。 4. **Modal Presentations**: - 模态展示是...

    iOS开发教程:Storyboard全解析-第一部分

    在iOS应用开发中,Storyboard是一种强大的工具,它允许...在第二部分的教程中,我们将进一步探讨Storyboard的高级特性和技巧,如嵌套NavigationController、TabBarController的配置,以及如何处理复杂的界面流程。

    WELNavHelper:简单的UINavigationController帮助器

    在iOS应用开发中,`UINavigationController` 是一个至关重要的组件,它管理着一系列的 `UIViewController` 对象,形成一个导航栈,允许用户通过前进和后退操作在各个界面间自由切换。`WELNavHelper` 是一个专为 `...

    android activitygroup底部菜单

    ActivityGroup的主要目的是实现类似iOS中的NavigationController的效果,允许用户在同一个父Activity内平滑地切换不同的子Activity,而无需每次都启动新的父Activity。 标题“android activitygroup底部菜单”指的...

    Block:页面之间使用Block传值

    然而,需要注意的是,Block会捕获并持有其引用的外部变量,可能会导致内存泄漏,因此在使用时要特别留意Block的循环引用问题。 总结来说,Objective-C中的Block是实现页面间数据传递的一种强大工具,它可以让我们更...

    Objective-C与Swift之间的互相调用和跳转

    这里要注意的是,对于基于Swift创建的工程,Swift可以直接引用OC,而OC引用Swift需要上述的设置。对于基于OC创建的工程,过程可能会略有不同,但基本原理相同。 总的来说,Objective-C和Swift的互操作性使得开发者...

    《精通iOS开发》第6版.中文完整带书签

    - **面向对象编程**:支持类(`class`)、协议(`protocol`)等面向对象编程概念。 ### 三、UIKit框架详解 #### 3.1 UIKit简介 UIKit是iOS开发中的核心框架之一,提供了丰富的UI组件和交互模型,帮助开发者快速构建...

    iOS路由(MGJRouter)的实现

    iOS路由在移动应用开发中扮演着重要角色,它允许不同模块之间进行通信和导航,而无需直接引用彼此,从而实现代码的解耦。MGJRouter是iOS平台上的一个轻量级路由库,它提供了一种简便的方式来管理和执行页面跳转。...

Global site tag (gtag.js) - Google Analytics