UI_UITableView界面传值(将前面的属性传值和协议传值结合起来)
来源:互联网 发布:中级java程序员要求 编辑:程序博客网 时间:2024/06/06 01:03
RootViewController.m#import "RootViewController.h"#import "SecondViewController.h"@interface RootViewController ()<UITableViewDataSource,UITableViewDelegate,SecondViewControllerDelegate>@property(nonatomic, retain)UITableView *tableView;@property(nonatomic, retain)NSMutableArray *array;@end@implementation RootViewController- (void)dealloc{ [_array release]; [_tableView release]; [super dealloc];}- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.array = [NSMutableArray arrayWithObjects:@"宋江", @"卢俊义", @"吴用", @"公孙胜", @"关胜", @"林冲", @"秦明" ,@"呼延灼" , @"花荣",@"柴进", @"李应", @"朱仝",@"鲁智深",@"武松",nil]; } return self;}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; // 创建一个tableView,并且签好两个协议 self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain]; self.tableView.backgroundColor = [UIColor greenColor]; [self.view addSubview:self.tableView]; [_tableView release]; self.tableView.dataSource = self; self.tableView.delegate = self; self.tableView.rowHeight = 100; // Plist文件用法 NSString *path = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"plist"]; NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path]; NSLog(@"%@",dic);}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.array.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *reuse = @"reuse"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuse]; if (!cell) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuse] autorelease]; } cell.textLabel.text = self.array[indexPath.row]; cell.detailTextLabel.text = @"水浒"; cell.imageView.image = [UIImage imageNamed:@"10.jpg"]; return cell;}- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"%ld", indexPath.row); SecondViewController *second = [[SecondViewController alloc] init]; [self.navigationController pushViewController:second animated:YES]; [second release]; // 利用属性传值. second.str = self.array[indexPath.row]; second.delegate = self;}- (void)takeValue:(NSString *)strValue { // 把传过来的字符串放到数组中. [self.array addObject:strValue]; // 刷新tableView. [self.tableView reloadData];}
SecondViewController.h#import <UIKit/UIKit.h>@protocol SecondViewControllerDelegate <NSObject>- (void)takeValue:(NSString *)strValue;@end@interface SecondViewController : UIViewController@property(nonatomic, copy)NSString *str;@property(nonatomic, assign)id<SecondViewControllerDelegate>delegate;@end
SecondViewController.m#import "SecondViewController.h"@interface SecondViewController ()@property(nonatomic, retain)UITextField *textField;@end@implementation SecondViewController- (void)dealloc{ [_textField release]; [super dealloc];}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; self.textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 50)]; self.textField.layer.borderWidth = 1; self.textField.layer.cornerRadius = 10; [self.view addSubview:self.textField]; [_textField release]; self.textField.text = self.str; UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; button.frame = CGRectMake(100, 200, 200, 50); [button setTitle:@"返回" forState:UIControlStateNormal]; button.layer.borderWidth = 1; button.layer.cornerRadius = 10 ; [self.view addSubview:button]; [button addTarget:self action:@selector(clickAction:) forControlEvents:UIControlEventTouchUpInside];}- (void)clickAction:(UIButton *)button { [self.navigationController popToRootViewControllerAnimated:YES]; [self.delegate takeValue:self.textField.text];}
0 0
- UI_UITableView界面传值(将前面的属性传值和协议传值结合起来)
- 界面传值(协议)
- 将XML和Python 结合起来
- 将Python和AutoHotkey结合起来
- 将 XML 和 Python结合起来
- 将 XML 和 Python 结合起来
- iOS之界面传值(通知,属性,协议,NSUserDefaults,KVC)
- 用css expression属性将javascript与css结合起来
- 字符串和actioncontext里面对象的属性值连接起来作为id的值
- 如何将SOA和虚拟化两者结合起来
- 如何将蓝牙和802.11结合起来提供高速无线连接
- 设计模式------------将工厂模式和策略模式结合起来
- 16 继承(三)(把前面14,15讲的情况结合起来)
- 继承(三)(把前面14,15讲的情况结合起来)
- iOS开发:界面传值之属性和代理传值
- 用 JAVA 开发游戏连连看(之三)将算法与界面结合起来
- 窗体传值--属性--将主窗体实例传给子窗体的属性
- iOS ---属性传值--正向界面传值
- 剑指offer—反转链表
- NSValue
- jdbc数据库的连接
- ocp-010
- 2016 微软秋招(校招)在线笔试 题目1 : Farthest Point
- UI_UITableView界面传值(将前面的属性传值和协议传值结合起来)
- 并查集
- ocp-11
- 2016 微软秋招(校招)在线笔试 题目234
- 剑指offer—合并两个排序的链表
- 制作网页2---PHP学习拾遗
- 观影有感
- HDU 2082 母函数
- 第二十四篇:缩合练习代码---简单微博(自定义Cell)