iOS利用Block傳值
ViewController.h 需要實現
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
- (void)sendMessage:(void(^)(NSString *))blc;
@end
ViewController.m裡面需要實現
#import "ViewController.h"
#import "secondeViewController.h"
@interface ViewController ()
{
void (^tempBloc)(NSString
UITextField *textField;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
UIButton *button = [UIButtonnew];
button.backgroundColor = [UIColorredColor];
button.frame = CGRectMake(100, 100, 50, 50);
[button addTarget:selfaction:@selector(gotoSecondeViewController)
[self.viewaddSubview:button];
textField = [UITextFieldnew];
textField.frame = CGRectMake(100, 300, 200, 50);
[self.viewaddSubview:textField];
}
- (void)gotoSecondeViewController{
secondeViewController *KsecondeViewController = [secondeViewController
KsecondeViewController.VC = self;
[selfpresentViewController:KsecondeViewController animated:YEScompletion:^{
}];
if (tempBloc) {
tempBloc(textField.text);
}
}
- (void)sendMessage:(void (^)(NSString *))blc{
tempBloc = ^(NSString *str){
blc(str);
};
}
secondeViewController.h裡面需要實現
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface secondeViewController : UIViewController
@property (nonatomic,strong)ViewController *VC;
@end
secondeViewController.m裡面需要實現
#import "secondeViewController.h"
#import "ViewController.h"
@interface secondeViewController ()
@end
@implementation secondeViewController
- (void)viewDidLoad {
[superviewDidLoad];
self.view.backgroundColor = [UIColorwhiteColor];
UILabel *lable = [UILabelnew];
lable.backgroundColor = [UIColorgreenColor];
lable.frame = CGRectMake(100, 100, 200, 50);
[self.viewaddSubview:lable];
[_VC sendMessage:^(NSString *str) {
lable.text = str;
}];
}
相關推薦
iOS利用Block傳值
ViewController.h 需要實現 #import <UIKit/UIKit.h> @interface ViewController : UIViewController - (void)sendMessage:(void(^)(NSSt
iOS Block傳值、代理傳值、通知中心
Joker_King 關注 2016.04.18 22:17* 字數 802 閱讀 1792 評論 7 喜歡 12 在我們需
ios block傳值 最簡單的方法
1、在您需要傳值出去的控制器標頭檔案裡宣告: @property (nonatomic,copy) void(^stringblockr)(int age); 2、然後在你pop或者push到被傳值的頁面的方法裡,呼叫該方法: self.stringblockr(
iOS block傳值(逆傳)
block是個好東西,是蘋果官方推薦的一種方法,效率高,程式碼簡單,今天用block主要是做一個簡單傳,暫時不對block詳細介紹,關於__block的用法,後期會一一介紹; 接下來,通過一個block,將 SecondViewController 的數值傳給 First
IOS Block傳值
1.使用協議在下級像上級傳遞值得時候比較繁瑣,需要定義協議方法,定義屬性,呼叫,在上級裡設定代理實現代理方法。 2.使用block 在類前定義需要使用到的block, #import <UIKit/UIKit.h> /** * 定義一個block
iOS-OC-iOS傳值大全(代理傳值,block 傳值,單例傳值,通知傳值,屬性傳值)
1、代理傳值 有A \B 兩個頁面需要將B頁面的值傳個A 總結: 1.首先應該在b頁面寫一個協議,協議裡有帶引數的方法,並建立實現該協議的屬性delegate,然後判斷該delegate_ 是否實現了協議的方法,實現該協議方法,並傳入值。 2.在A.h
iOS Block的基本使用以及Block傳值
block為我們提供了一個非常便捷的方法去實現各種傳值以及回撥 合理的使用block可以減少程式碼量以及更加優雅的實現功能 現做個小整理如下: #pragma mark About Block //block的原型: NSString *(^myB
【iOS】代理傳值與塊代碼傳值
ring 方法 nslog 設置代理 轉載 adf delegate alloc 代理傳值 主線程與子線程常常須要進行數據的傳遞。不同的類之間,不同的控制器之間都須要。 並且常常須要監聽一個動作的完畢。而後才去做對應事件。(代理是一對一的關系)。 一、代理傳值 代理
iOS 代理反向傳值
obj receive leg 輸出 1.4 方法 bsp control 需求 在上篇博客 iOS代理協議 中,側重解析了委托代理協議的概念等,本文將側重於它們在開發中的應用。 假如我們有一個需求如下:界面A上面有一個button、一個label。從界面A跳轉到界面B
IOS 代理協議傳值
oid nds tag 代理方法 round 循環 prot copy 黃色 順傳 假設A為第一個視圖控制器,B為第二個視圖控制器 在A中導入B的.h文件 場景:A向B傳值 第一步:在B的.h中定義一個content屬性 @interfaceSecondViewContr
block傳值
//主頁面 import UIKit class TableVC: UITableViewController { var sectionName:[String] = [] var rowName1:[String] = [] var rowName
ios模型拷貝/傳值
場景:兩個介面A,B(Apush到B介面)同時需要引用同一個model,並修改. 問題是:在B中如果直接用一個同類型model的屬性來接受A介面傳過來的Model時,在B介面修改model後,A介面對應的model也會發生變化. 希望達到的目的:A,
block的高階用法(一) -- block傳值
我們先從簡單的入手,先講下block的傳值,後面會有更精彩的。 在講傳值之前我們先複習下block的基礎知識: - (void)viewDidLoad { [super viewDidLoa
控制器之間的資料傳遞——Block傳值
Block傳值 我們先在這裡約定:介面1傳值到介面2為順傳,介面2傳值到介面1為逆傳 一般用Block傳值是為了降低檢視控制器之間的耦合度,和代理傳值類似主要用於逆序傳值。 一. 實現步驟
block 傳值 遇到的出錯點:Thread 1:EXC_BAD_ACCESS(code=1,address=0x10)
Home介面也就是需要接收值的介面。 #pragma mark 推出登入介面 -(void)loginAction:(id)sender { LoginViewController *loginVC = [[LoginViewControlleralloc]ini
Swift如何實現代理,block傳值
要實現代理傳值,我們先來看一下需求 通過點選提交進入第二個頁面,點選返回pop到第一個頁面,並且用代理和block 傳回一個值. 我們先來看第二個頁面的程式碼: import UIKit //定義協議 protocol loginDelegate{
iOS NSNotification(通知)傳值~demo
//聯絡人:石虎 QQ: 1224614774暱稱:嗡嘛呢叭咪哄 /** 注意點: 1.看 GIF 效果圖. 2.看連線檢視的效果圖. 3.看實現程式碼(直接複製實現效
iOS 五種傳值方式
iOS 有五種傳值方式 一.屬性傳值 屬性傳值最為簡單,但是比較單一,只能從一個檢視傳至另一個檢視, 屬性傳值第一步需要用到什麼型別就定義什麼樣的屬性 新建兩個檢視控制器RootViewController和SecondViewController,從一個頁面傳至第二個頁面
C# Winform利用POST傳值方式模擬表單提交資料(Winform與網頁互動)
其原理是,利用winfrom模擬表單提交資料,將要提交的引數提交給網頁,網頁執行程式碼,得到資料,然後Winform程式將網頁的所有原始碼讀取下來,這樣就達到windows應用程式和web應用程式之間傳參和現實資料的效果了。 首先建立一個windows應用程
iOS Block界面反向傳值小demo
一個 push action put btn inter text nac mic 1、在第二個視圖控制器的.h文件中定義聲明Block屬性: // 定義block @property (nonatomic, copy) void (^NextViewControlle