一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - 匯總ios開發逆向傳值的方法

匯總ios開發逆向傳值的方法

2021-01-11 16:49xywjun IOS

這篇文章主要為大家匯總了ios開發逆向傳值的方法,感興趣的小伙伴們可以參考一下

iOS的逆向傳值有很多種方法,下面來總結幾種常用的傳值方式(只貼相關代碼):

第一種:代理傳值
第二個控制器:

?
1
2
3
4
5
6
7
8
9
10
@protocol WJSecondViewControllerDelegate <NSObject>
- (void)changeText:(NSString*)text;
@end
 @property(nonatomic,assign)id<WJSecondViewControllerDelegate>delegate;
 
- (IBAction)buttonClick:(UIButton*)sender {
_str = sender.titleLabel.text;
[self.delegate changeText:sender.titleLabel.text];
[self.navigationController popViewControllerAnimated:YES];
}

第一個控制器:

?
1
2
3
4
5
6
7
8
9
10
- (IBAction)pushToSecond:(id)sender {
WJSecondViewController *svc = [[WJSecondViewController alloc]initWithNibName:@"WJSecondViewController" bundle:nil];
svc.delegate = self;
svc.str = self.navigationItem.title;
[self.navigationController pushViewController:svc animated:YES];
[svc release];
}
- (void)changeText:(NSString *)text{
self.navigationItem.title = text;
}

第二種:通知傳值
第一個控制器:

?
1
2
3
4
5
//注冊監聽通知
 [[NSNotificationCenter defaultCenter] addObserver:self     selector:@selector(limitDataForModel:) name:@"NOV" object:nil];
- (void)limitDataForModel:(NSNotification *)noti{
self.gamesInfoArray = noti.object;
}

第二個控制器:

?
1
2
//發送通知
 [[NSNotificationCenter defaultCenter]   postNotificationName:@"NOV" object:gameArray];

第三種:單例傳值
Single是一個單例類,并且有一個字符串類型的屬性titleName
在第二個控制器:

?
1
2
3
4
5
- (IBAction)buttonClick:(UIButton*)sender {
Single *single = [Single sharedSingle];
single.titleName = sender.titleLabel.text;
[self.navigationController popViewControllerAnimated:YES];
}

第一個控制器:

?
1
2
3
4
5
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
Single *single = [Single sharedSingle];
self.navigationItem.title = single.titleName;
}

第四種:block傳值
第二個控制器:

?
1
2
3
4
5
6
@property (nonatomic,copy) void (^changeText_block)(NSString*);
- (IBAction)buttonClick:(UIButton*)sender {
_str = sender.titleLabel.text;
self.changeText_block(sender.titleLabel.text);
[self.navigationController popViewControllerAnimated:YES];
}

第一個控制器:

?
1
2
3
4
5
6
7
8
- (IBAction)pushToSecond:(id)sender {
WJSecondViewController *svc = [[WJSecondViewController alloc]initWithNibName:@"WJSecondViewController" bundle:nil];
svc.str = self.navigationItem.title;
[svc setChangeText_block:^(NSString *str) {
  >self.navigationItem.title = str;
}];
[self.navigationController pushViewController:svc animated:YES];
}

第五種:extern傳值
第二個控制器:

?
1
2
3
4
5
extern NSString *btn;
- (IBAction)buttonClick:(UIButton*)sender {
btn = sender.titleLabel.text;
[self.navigationController popViewControllerAnimated:YES];
}

第一個控制器:

?
1
2
3
4
5
NSString *btn = nil;
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.navigationItem.title = btn;
}

第六種:KVO傳值
第一個控制器:

?
1
2
3
4
5
6
- (void)viewDidLoad {
[super viewDidLoad];
 _vc =[[SecondViewController alloc]init];
//self監聽vc里的textValue屬性
[_vc addObserver:self forKeyPath:@"textValue" options:0 context:nil]; 
}

第二個控制器:

?
1
2
3
4
- (IBAction)buttonClicked:(id)sender {
self.textValue = self.textField.text;
[self.navigationController popViewControllerAnimated:YES];
}

其實還有很多種傳值方式,比如說NSUserDefaults,先把數據保持在本地,再讀取,或者寫入plist及其它類型的文件再讀取等等許多方式,在這里就不一一列舉了!這些代碼寫的時間比較久了,今天整理了一下,還比較亂,有什么不對或不足的地方請見諒!

延伸 · 閱讀

精彩推薦
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111302021-03-15
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5272021-01-16
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
主站蜘蛛池模板: 亚洲不卡视频在线 | 日韩网站在线观看 | 色综合中文字幕天天在线 | 91麻豆精品国产91久久久 | 国产成人啪精品午夜在线观看 | 网红刘婷hd国产高清 | 国产大神91一区二区三区 | 男生操女生漫画 | 国产精品怡红院永久免费 | 九九热视频 这里有精品 | 亚洲国产精品无码中文在线 | 成人无高清96免费 | 91香蕉国产 | 日韩在线免费播放 | 色啪久久婷婷综合激情 | 亚洲欧美日韩国产一区图片 | 美女林柏欣21p人体之仓之梦 | 精品国产日韩一区三区 | poren黑人 | 亚洲 欧美 国产 综合首页 | 亚洲狠狠婷婷综合久久蜜桃 | 青青草在观免费 | 免费在线观看网址大全 | 美女被扣逼 | 日韩一区二区不卡 | ak福利午夜在线观看 | 91庥豆果冻天美精东蜜桃传媒 | 果冻传媒mv在线观看入口免费 | 操大爷影院| 高h辣文小说网 烧书阁 | 五月天婷婷精品免费视频 | 明星裸乳照无奶罩 | 护士xxxx| 久久精品人人做人人爽97 | 精品一区二区三区免费视频 | 欧美国产在线观看 | 日本伊人色综合网 | 亚洲乱亚洲乱妇41p 亚洲乱码一区二区三区国产精品 | 久久无码人妻中文国产 | 国产剧情一区二区三区 | 国产精品成人va在线观看 |