2.12-3.20上周的习惯坚持下来了??精诚所至金石为开,加油兄弟

妹妹婚礼,祝福妹妹,幸福的新娘子,下周yy过来,但是任务比较重,跟同事搞好关系,跟峰哥商量好,要是实在不行,找人帮忙搞一下,周末没办法加班了

block反向传值,代替代理跳转弄明白了,在pop的时候调用dealloc说明控制器没有内存泄露

QQ好友列表,点击headerView收起分组,使用block替换代理,

遇到崩溃的问题,exc_bad_access

野指针

正确的使用步骤:

1.在headerView的类中声明一个block属性,

//  HeaderView.h

typedef void(^headerViewClicked)();

@interface HeaderView : UITableViewHeaderFooterView

@property (nonatomic, copy) headerViewClicked headerClicked;

2.在点击headerView调用的方法中执行block   headerClicked()

//  HeaderView.m

UITapGestureRecognizer *tapGest = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(headerViewDidClicked:)];//headerViewDidClicked:用Block属性

-(void)headerViewDidClicked:(headerViewClicked)headerViewClicked {

//--------------用block方法

//    _headerClicked = headerViewClicked; // 没有赋值,不能使用,会崩溃

//----------用block属性 之前block已经赋值好

self.sectionNameModel.showCell = !self.sectionNameModel.showCell;

if (_headerClicked) {

_headerClicked();

}

}

3.在控制器中给headerView的Block属性赋值

//  SectionTableViewController.m

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

HeaderView *headerView = [[HeaderView alloc]init];

headerView.sectionNameModel = self.sectionNameArray[section];

headerView.tag = section;

__weak __typeof(self)weakSelf = self;

//------------------------------------用block方法

//    NSIndexSet *set = [NSIndexSet indexSetWithIndex:headerView.tag];

//    [headerView headerViewDidClicked:^{

//        NSLog(@"*******************");

//        [weakSelf.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationFade];

//    }];

//------------------------------------用block属性

NSIndexSet *set = [NSIndexSet indexSetWithIndex:headerView.tag];

headerView.headerClicked = ^(){

NSLog(@"*******************");

[weakSelf.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationFade];

};

return headerView;

}

错误的使用步骤:

1.在headerView的类中声明一个block属性,

2.在headerView的类中声明一个带block的方法,headerViewDidClicked:

3.在点击headerView调用的方法(headerViewDidClicked:)中执行block   headerClicked(),修改模型显示隐藏bool

4.在控制器中调用headerView的带Block的方法

正确的使用步骤:

1.在headerView的类中声明一个block属性,

2.在headerView的类中声明一个带block的方法,headerViewDidClicked:

- (void) headerViewDidClicked:(headerViewClicked)headerViewClicked;

3.在点击headerView调用的方法(另外一个方法)(showOrHide)中执行block   headerClicked(),修改模型显示隐藏bool

//  HeaderView.m

UITapGestureRecognizer *tapGest = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(showOrHide)];

-(void)headerViewDidClicked:(headerViewClicked)headerViewClicked {

//--------------用block方法

_headerClicked = headerViewClicked; // 没有赋值,不能使用,会崩溃

}

- (void)showOrHide{ // 用block方法

self.sectionNameModel.showCell = !self.sectionNameModel.showCell;

if (_headerClicked) {

_headerClicked();

}

}

4.在控制器中调用headerView带Block的方法

//  SectionTableViewController.m

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

HeaderView *headerView = [[HeaderView alloc]init];

headerView.sectionNameModel = self.sectionNameArray[section];

headerView.tag = section;

__weak __typeof(self)weakSelf = self;

//------------------------------------用block方法

NSIndexSet *set = [NSIndexSet indexSetWithIndex:headerView.tag];

[headerView headerViewDidClicked:^{

NSLog(@"*******************");

[weakSelf.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationFade];

}];

return headerView;

}

------------------------------------------

git公钥

svedeMacBook-Air:.ssh sve$ cat id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ3hjA/+E+53hfOV9ufoT5L+bpzQtXjocksgXVq1j4tT9PC1cwe4jg42X+NMFHw/lM9wz6zWknanC+iG4iiT4B5wwybRZ/pBHmiPrkaaGTuo8AqccwekGgMuic9zyhM2u1LbiG8Px5hS1X8ToyOM7tMWpvTW6Tib3nZiSc0R7I6GRE50PJrGC33DBQJT/0gE5WEE82mNzFgXCKZv81fnCriYyySvwLpKmc+GynCWMSoRILjA5+2Yxe07UYVPSzRebfKMr/eEJfwQHY7xWobI4Oa4q9UjbQFUE5f+up18pqxTuz9c28tUSFJqofnsUUZXFmFkdEegaKLw+zkQhqgiCl [email protected]

svedeMacBook-Air:.ssh sve$

---------------------------------------------------------------------------

[[HDFSearchBarView alloc] initWithFrame:(CGRect){CGPointZero, SCREEN_WIDTH, 44} delegate:self]

--------

Bundle

-----------------------------------------------------------------------------------------------------

粗心的错误,textField一直出不来,后来发现黄色的写成了backGroundView ,给backGroundView 加约束

UITextField *telInputTextField = [[UITextField alloc]init];

[backGroundView addSubview:telInputTextField];

[telInputTextField mas_makeConstraints:^(MASConstraintMaker *make) {

make.top.equalTo(backGroundView.mas_top);

make.bottom.equalTo(backGroundView.mas_bottom);

make.left.equalTo(phoneLabel.mas_right).offset(0);

make.right.equalTo(backGroundView.mas_right).offset(-10);

}];

-----------------------------------------------------------------------------------------------------

三个大view一直出不来

----------------------------------------------------------------------------------------------------

block反向传值后,直接跳转了控制器,没停留,旧代码没删除

在第二个控制器定义block属性,在点击方法中执行这个Block

在第一个控制器中给block赋值

----------------------------------------------------------------------------------------------------

textField收起

leeGof

------------------------------------------------------------------------------------------------

上面的写法不能设置按钮的文字,必须用下面的Set方法才能设置按钮文字

//    hdfServeAgreementButton.titleLabel.text = @"好大夫服务协议";

[hdfServeAgreementButton setTitle:@"好大夫服务协议" forState:UIControlStateNormal];

------------------------------------------------------------------------------------------------

loadView

storyBoard

.xib

viewController.xib

空view

所以得干掉xib才能不显示xib

-----

//    if (self.isFromAddNewPatient) {

myPatientId = self.patientInfoView.patientModel.patientId;

//    }else{

//        myPatientId = self.patientModel.patientId;

//    }

干啥的判断?是新添加的患者还是从患者列表选选择的患者

-----

记录一下:ios 6中以前一直没注意,textField原来文字默认是顶对齐,额,,用ios 6现在测才发现,,,不居中不好看啊,

更改如下:

[textField setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter];

在pop的时候没有走dealloc

ENFullScreenPicker.h滚轮picker

doctorAppDelegate *doctorDelegate = (doctorAppDelegate *)[UIApplication  sharedApplication].delegate; 获取APPdelegate

双布尔值搞定,点击

时间: 2024-10-11 21:32:31

2.12-3.20上周的习惯坚持下来了??精诚所至金石为开,加油兄弟的相关文章

曹虞:20种制胜习惯,帮你投资

投资虽然只是由简单的建仓和平仓构成,但从中却蕴含了很深技巧,想成为一名成功地投资者,就一定要养成一系列的好习惯,就像要有一个好身体就要养成早睡早起.合理饮食等等好习惯一样.习惯——尤其是好习惯——虽然不容易养成,但为了我们投资的最终目的——盈利,我们必须要这么做.下面的这23种投资的制胜习惯是很多的投资大师不约而同形成并坚持保持的,也正是这些投资习惯指引着他们一步一步的走到了福布斯的富翁排行榜上. 1.保住现有财富 制胜习惯:保住资本永远是第一位的 投资大师:相信最重要的事情永远是保住资本,这是

第十六周 12.14---12.20

新的一周>_< ---12.14 补之前的一场 cf cf 604c http://codeforces.com/contest/604/problem/C 给一串长度为 n 的 01串,可以翻转一个区间,问能够得到的最长的01序列是多长(可以不连续) 没有想出来,,, 其实可以发现,翻转一个区间,能够给原串带来2个贡献,所以算出原来的最长的加上 2 和 n 取最小值就好了 1 #include<cstdio> 2 #include<cstring> 3 #includ

传智播客 2015 刘意 Java基础-视频-笔记day27(完结)(2016年5月1日12:42:20)

day27 1.类的加载概述和加载时机 2.类加载器的概述和分类 类加载器 负责将.class文件加载到内存中,并为之生成对应的Class对象. 虽然我们不需要关心类加载机制,但是了解这个机制我们就能更好的理解程序的运行. 类加载器的组成 Bootstrap ClassLoader根类加载器 Extension ClassLoader扩展类加载器 SysetmClassLoader系统类加载器 通过这些描述我们就可以知道我们常用的东西的加载都是由谁来完成的. 到目前为止我们已经知道把class文

面试总结(2019年12月20日)

1.js实现promise 1.promise和async/await的区别 函数前面多了一个async关键字.await关键字只能用在async定义的函数内.async函数会引式返回一个promise,改promise的resolve值就是函数return的值. 简洁:使用async和await明显节约了不少代码,不需要.then,不需要写匿名函数处理promise的resolve的值,不需要定义多余的data变量,还避免了嵌套代码. async/await让try/catch 可以同时处理同

Linux 运维实践案例-2015年12月20日-12月31日

一.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: 1.首先在系统之中添加一块硬盘,然后通过fdisk -l 命令显示当前磁盘信息 [[email protected] /]# fdisk -l                  #列出当前系统中的磁盘信息 Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Se

linux运维实战练习案例-2015年12月20日-12月31日 (第一次)

一.实战案例(练习)内容 假如你学习完Linux,想找一份儿Linux相关的运维工作,某天你接到一家公司给出的邀请,你来到该公司面试,面试前,运维主管给你出了一些简单的笔试题,题目如下: 1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: 操作步骤: (1).使用fdisk工具创建一个10G的分区 [[email protected] ~]# fdisk /dev/sda 欢迎使用 fdisk (util-linux 2.23.2). 更改将停留在内存中,

centos 7 rabbitmq 3.7.12 erlang 20.3源码安装

1.下载erlang 官网地址 http://www.erlang.org/download 挑选合适的版本 然后 建议20.3运行命令 wget http://erlang.org/download/otp_src_20.3.tar.gz 2.使用yum安装下必须的配件: yum install gcc glibc-devel make ncurses-devel openssl-devel autoconfyum install unixODBC unixODBC-devel yum ins

linux运维实战练习案例-2015年12月20日-12月31日(第一次)

1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: (1)新建立一个分区 [[email protected] wuzhibin]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (comm

2016年12月20日感想

刚才正在学习,突然之间有点感触,很多做技术的都想着自己哪天成为大牛,我自己也总是这样幻想,可是就在刚才自己突然想问自己,自己的努力有能让自己成为大牛的可能么?自己的回答是没有,"很多人的努力只是浅尝辄止" 这句话并没有错,适合很多人, 也同样适合我,大牛没有突然之间形成的,都是靠技术一点一点累计而成的,当自己给自己说这件事明天干也行的时候,其实就是在给自己找借口,很多人都在说时间过的好快,是渐渐的我们都觉得每天过的好快,每周过的好快,每月过的好快,甚至觉得每一年过的 也是那么快,似乎时