iOS xib传值--定义方法传值

事件描述: 用xib创建了一个View,里面有按钮,有TableView。我需要将数据在初始化时传递进去,方便TableView来显示信息。

首先想到的是awakeFromNib这个方法(我以为是和ViewDidLoad差不多的方法,后来发现差多了),在这个里面,将上一个界面的数据通过公共变量读取到。但是,公共变量的值为空。跟代码,我发现,当View使用nib在初始化时,就会调用这个方法:

ConnectionView * connectionView = [[[NSBundle mainBundle]loadNibNamed:@"ConnectionView" owner:self options:nil]objectAtIndex:0];

  这个方法创建View时,awakeFromNib这个方法是和上面的代码一起执行的,当我将数据传递进去的时候,如果在awakeFromNib这个方法里面写,就会造成,传递数据时,这个方法不再走了,导致View里面,值为空。

  怎么解决这个呢?我请教了我的头,头说,写一个方法就可以了,这样,在addSubView之前调用,就可以将值传递进去了。

  又get了一项新的功能.除了其他3种传值以外,又有了这个方法传值。

时间: 2024-10-05 11:48:20

iOS xib传值--定义方法传值的相关文章

数组定义方法 数组遍历方法 全局变量和局部变量定义 赋值传值和赋值传址定义

数组的定义方法: 方式一:使用new运算符结合Array()构造函数来创建 var arr = new Array(); 方式二:创建指定长度的数组,()中只有一个整数 var arr = new Array(3); 数组的长度:arr.length,只能统计一维数组的长度. 方式三:将多个数组元素添加小括号()中,各个元素间用逗号隔开 var arr = new Array(10,20,30,40,50); 方式四:使用中括号[]来创建一个数组 var arr = [10,20,30,40];

ios学习(界面传值的方法)

ios(学习)界面传值的方法 block: 实现界面传值的方法1.block: 实现界面传值,都是从第二个界面向第一个界面传值:第一种block 首先).在第二个界面secondViewController声明set方法 声明block @property (nonatomic,copy) void(^change)(UIColor *color); 其次).在.m文件实现 实现block的方法 _callback([UIColor redColor]);//注意这里之所以是_callback的

React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值

1.案例实现代码如下 import React, { Component } from 'react'; /** * 特别注意this,对于传值和绑定都十分重要 */ class Home4 extends Component{ constructor(props){ super(props); //定义数据 this.state={ msg:'这是一个Home4组件', name:"杨杰" } this.getMessage = this.getMessage.bind(this);

vue 定义方法执行方法 获取数据 改变数据 执行方法传值 以及事件对象

1 <template> 2 3 4 <div id="app"> 5 6 <!-- 7 <img v-bind:src='url' /> 8 9 <img :src='url' /> --> 10 11 {{msg}} 12 <br> 13 <br> 14 <br> 15 16 17 <button v-on:click="run1()">执行方法的第一种写

iOS反向传值--Block方法

RootViewController代码如下: #import "RootViewController.h" #import "MyControl.h" #import "SecondViewController.h" #define kDebugPrint NSLog(@"%s",__func__) @interface RootViewController () {     UILabel *_label; } @end

iOS 页面间几种传值方式(属性,代理,block,单例,通知)

iOS 页面间几种传值方式(属性,代理,block,单例,通知) 姜糖水 2015-05-03 52 阅读 iOS 移动开发 第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五

ios 得用代理反向传值

应用场景:有时时候从界面A跳转到界面B,界面B在返回的时候需要将处理的结果传递给A. 实现思路:1,定义一个负责传值的协义,界面A拥有该协义属性,并实现该协义中的方法 2,界面B也拥有该协义属性(代理要求两者都具有相同对象的引用 ),然后在返回的时候获取界面A的引用指针,并且指定B中协义的调用目标为A,调用协义中的传值方法. 具体代码: A的头文件 : #import <UIKit/UIKit.h> @protocol passValueDelegate <NSObject> -(

iOS传值之代理传值

iOS中传值方式有好几种,分别是:代理传值,block传值,属性传值,通知传值,单例传值,利用userdefault或者文件方式传值,通常代理传值和block传值使用最普遍,本文介绍代理传值的方式,后续博客会一次写上其他传值方式. 一 什么是委托代理? 1.协议(protocol),就是使用了这个协议后,必须按照协议规定的内容来处理事情,协议中要求的方法必须实现(@optional的方法除外). protocol是一种语法,它提供了一个很方便的.实现delegate模式的机会. 定义protoc

iOS开发之不同界面传值

iOS开发中不可避免要用到不同界面传值,今天就总结下三种传值方法:闭包传值.代理传值和通知传值. 1.闭包传值 如图建立VC1和VC2,com+R运行正常~把VC2的button用Action关联并设置tag. 在VC2中定义一个闭包 var closures: ((clicked: NSString) -> Void)? 设置VC2中三个button的点击事件(这里三个button的tag设置为101,102,103) @IBAction func numBtn(sender: AnyObje