popViewController 之 同时pop掉2层viewController
项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了
项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了
开始我用的BLOCK,可是这种已经不能满足我的要求了,
(下面功能虽然没有实现,但是可以理解block的简单使用了)
要求:我有3个视图
视图1为登录界面
视图2为注册界面
视图3为提示成功界面
视图2已经push到了视图1上,接下来就要在视图2里写block了,代码如下
ViewController2 . h
@property (nonatomic,copy) void (^callback)(void);//我的block对象
ViewController2 . m
UIStoryboard *sb=[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
ViewController3 *vc3=(ViewController3 *)[sb instantiateViewControllerWithIdentifier:@"viewcontroller3"];
/*以上2行是我加载故事版中的视图3*/
vc3.phoneNumber=self.phoneNum.text;//在故事版中如果2个视图之间相互传值,可以采用以上3行代码的形式来传递
void (^myBlock)(void)=^{
[self.navigationController popViewControllerAnimated:YES];
};
[vc3 setCallback:myBlock];//将我的block赋给视图3
[self.navigationController pushViewController:vc3 animated:YES];
以下代码为视图3里面的
ViewController3 . h
@property (nonatomic,copy) void (^callback)(void);
ViewController3 . m
if (self.callback) {
self.callback();
}
[self.navigationController popViewControllerAnimated:YES];
现在来看看我是如何实现的吧(简称面包屑用法)
【这种用法可以让你指定到你想返回的视图中去】根据上述功能,我将此段代码放在了视图3中
NSArray *pushVCAry=[self.navigationController viewControllers];
//下面的pushVCAry.count-3 是让我回到视图1中去
UIViewController *popVC=[pushVCAry objectAtIndex:pushVCAry.count-3];
[self.navigationController popToViewController:popVC animated:YES];
希望对大家有所帮助,讲解的不是太好,大家可以在下方留言给我

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

linuxvi不顯示遊標的解決方法:1、登入linux系統,進入終端機;2、執行「echo-e"\033[?25h"」方法顯示遊標即可。 Linux終端遊標消失問題今天在用vim寫腳本的時候,突然發現遊標消失了,這就很難受了,不知道編輯位置在哪。一開始一直在找vim的配置問題,但後來發現終端的遊標也消失了。這才知道終端的遊標和vim的遊標是相關的,所以只需要把終端的遊標搞出來就行了。隱藏遊標echo-e"\033[?25l"顯示遊標echo-e&quo

隨著網路和電子郵件的普及,人們越來越依賴電子郵件通訊。 PHP作為一種流行的腳本程式語言,也為電子郵件操作提供了強大的支援。其中,IMAP和POP協定是PHP中郵件操作的兩種常用協定。以下就來詳細介紹一下它們在PHP的應用。一、IMAP協定IMAP(InternetMessageAccessProtocol)協定是在郵件客戶端和郵件伺服器之間建立的

在Linux系統中,vi編輯器是一款被廣泛使用的文字編輯器。對於系統管理員和程式設計師來說,熟練vi編輯器的技巧至關重要。本文將分享一些常用的vi編輯器技巧,幫助讀者提升編輯效率。進入vi編輯器要進入vi編輯器,只需在Linux終端機鍵入「vi檔名」。若要直接編輯特定文件,可使用命令列中的「vi文件名稱」。指令模式與插入模式切換vi編輯器分為兩種模式:指令模式與插入模式。在命令模式下,可以執行各種命令來操作文字;而在插入模式下,可以輸入、編輯文字內容。要在兩種模式之間切換,只需按下"Esc"鍵即可。

Golang是一種高效能、簡潔、安全、並發支援強的程式語言。在使用Golang進行開發的過程中,有時會遇到一些錯誤訊息。其中一個比較常見的錯誤就是「undefined:heap.Pop」。這種錯誤通常會出現在使用堆(heap)時,下面我們來看看如何解決這個錯誤。堆(heap)是一種很重要的資料結構,Golang中提供了heap套件來支援堆操作。

js數組刪除元素的方法有多種,具體包括使用splice()方法、使用pop()和shift()方法、使用delete關鍵字和使用filter()方法等。以下將為你詳細介紹這些方法,並提供具體的程式碼範例。使用splice()方法刪除元素splice()方法可以同時刪除陣列中的元素,並傳回刪除的元素。其語法為:array.splice(start,delete

1.三種模式以及切換①命令列模式②插入模式(進入檔案編輯,按ESC進入底行模式)③底行模式2、vi模式切換指令a--->[進入編輯狀態,從目前遊標的位置後一個插入字元]A--->[進入編輯狀態,從目前行尾插入字元]i--->[進入編輯狀態,從目前遊標的位置前一個插入字元]I--->[進入編輯狀態,從目前行首插入字元]o--->[進入編輯狀態,插入一行,遊標移到行首開始插入字元]O--->[進入編輯狀態,遊標前加空行,遊標移到行首開始插入字元]ESC--->

一.vi文本编辑器配置文件是Linux操作系统的显著特征之一,其作用有点类似于Windows操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。1.使用vi文本编辑器vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类UNIX操作系统的默认文本编辑器,vim是vi文本编辑器(简称vi编辑器)的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称为vi,为了使用方便,可以设置一个命令别名,将vi指向vim程序(本文中以vim程序为例)具体操作如

Pepe Unchained (PEPU) 不只是另一種流行的迷因幣;這是一個突破性的項目,旨在透過其第 2 層網路重新定義模因幣市場。
