iOS NSNotification(通知)傳值~demo
//聯絡人:石虎 QQ: 1224614774暱稱:嗡嘛呢叭咪哄
/**
注意點: 1.看 GIF 效果圖.
2.看連線檢視的效果圖.
3.看實現程式碼(直接複製實現效果).
*/
一、GIF 效果圖:
二、連線檢視的效果圖:
圖1:
圖2:
三、實現程式碼:
=========================
===================================================
==========================控制器1:
// ViewController.m
// 通知測試 dome
//
// Created by
// Copyright © 2017年 shihu. All rights reserved.
//
#import "ViewController.h"
#import "SHTwoViewController.h"
@interface ViewController ()
//顯示傳值的內容
@property (weak,nonatomic)IBOutletUILabel *textStrng;
//跳轉
- (IBAction)notificationClick:(UIButton *)sender;
@end
@implementation
- (void)viewDidLoad {
[superviewDidLoad];
//註冊通知----第一部
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(showLabelText:)name:@"labelTextNotification"object:nil];
}
//實現通知監聽 ---第二部
- (void)showLabelText:(NSNotification *)notification
{
//第三,實現通知中心內部的方法
id text = notification.object;
//賦值到文字上面
self.textStrng.text = text;
}
//釋放通知 ---第四部
- (void)dealloc
{
//第四步,訊息傳送完,要移除掉
[[NSNotificationCenterdefaultCenter]removeObserver:selfname:@"labelTextNotification"object:nil];
}
#pragma mark -//點選通知跳轉
- (IBAction)notificationClick:(UIButton *)sender{
SHTwoViewController *twoVC =[[SHTwoViewControlleralloc]init];
[selfpresentViewController:twoVCanimated:YEScompletion:nil];;
}
@end
=========================
===================================================
==========================控制器2:
/ SHTwoViewController.m
// 通知測試 dome
//
// Created by 石虎 on 2017/7/22.
// Copyright © 2017年 shihu. All rights reserved.
//
#import "SHTwoViewController.h"
#import "ViewController.h"
@interface SHTwoViewController ()
//輸入要傳值的文字
@property (weak,nonatomic)IBOutletUITextField *TextField;
//開始傳值
- (IBAction)startValue:(id)sender;
@end
@implementation SHTwoViewController
- (void)viewDidLoad {
[superviewDidLoad];
}
//開始傳值
- (IBAction)startValue:(id)sender
{
//釋出通知----第三部
[[NSNotificationCenterdefaultCenter]postNotificationName:@"labelTextNotification"object:self.TextField.text];
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self.viewendEditing:YES];
}
@end
謝謝!!!