Objective-C tips

原创 2016年10月15日 19:23:28

Objective-C 中给一个对象发送消息步骤:

1.在对象类的 dispatch table 中尝试找到该消息。如果找到了,跳到相应的函数IMP去执行实现代码;
2.如果没有找到,Runtime 会发送 +resolveInstanceMethod: 或者 +resolveClassMethod: 尝试去 resolve 这个消息;
3.如果 resolve 方法返回 NO,Runtime 就发送 -forwardingTargetForSelector: 允许你把这个消息转发给另一个对象;
4.如果没有新的目标对象返回, Runtime 就会发送 -methodSignatureForSelector: 和 -forwardInvocation: 消息。你可以发送 -invokeWithTarget: 消息来手动转发消息或者发送 -doesNotRecognizeSelector: 抛出异常。

UITableView的刷新-数据改变时
[self.tableview reloadData];

#pragma mark - 数据发生改变后一定要重新刷新数据  
- (void)viewWillAppear:(BOOL)animated{  
    [super viewWillAppear:animated];  
    /** 
     *  clearsSelectionOnViewWillAppear 
     *  这个是它的一个属性,默认是yes 返回列表页面的时候,默认取消这行的选中状态,可是我们已经把这条数据删除的话,会出问题 
     *  如果你点击了一行cell,进入下一个页面,在这个页面中,我们把本该属于这行cell的数据给删了 
     *  如果  self.clearsSelectionOnViewWillAppear = yes,返回前一页时,会刷新这一行cell,执行cellForRow方法,结果数据却没了,就崩溃了 
     *  如果  self.clearsSelectionOnViewWillAppear = no,不会刷新这一行cell,就没事儿了 
     */  
   self.clearsSelectionOnViewWillAppear =NO;  
    [self.tableView reloadData];---->并不一定要放在这里,看取得数据在什么位置,刷新数据在什么位置  
} 

viewWillLayoutSubviews和viewDidLayoutSubviews如果使用到自动布局,需要修改自动布局中的约束条件,那么可以在viewWillLayoutSubviews中进行操作,例如:text文本框中文字过多的时候文字不能不能置顶,可以在viewWillDidSubviews中操作:

- (void)viewDidLayoutSubviews {
    [self.myTextView setContentOffset:CGPointZero animated:NO];
}

一些关于Web前端的小tips

代码细节
  • DeepLies
  • DeepLies
  • 2017年05月08日 11:41
  • 392

【Unity Tips】备忘录(扫盲篇)

写在前面 Unity3D虽然是个非常方便的游戏引擎,但还是有一些地方会产生一些让人莫名其妙的问题,而且debug半天也不知道到底哪里错了。往往在经过了大量的log之后,也许我们才顿悟,原来Unit...
  • candycat1992
  • candycat1992
  • 2014年04月04日 14:03
  • 10718

腾讯QQ精准TIPS消息营销介绍

Tips消息:Tips消息是一种腾讯特有的消息精准告知方式,是在QQ用户在线时,不定时触发的一个图文并茂的消息框,该消息框在屏幕窗口右下角弹出,用户不主动点击则不会在桌面消失,保持时间长,点击效率高,...
  • lzlchangqi
  • lzlchangqi
  • 2016年10月16日 17:45
  • 593

C#使用Tips(部分)

C#基本使用
  • u012526003
  • u012526003
  • 2015年12月15日 18:58
  • 713

微信小程序tips

最近公司项目改版,趁产品修改与UI出图的间歇用公司商户端UI图撸了一把微信小程序。因为刚刚实习那一会接触过前端开发,所以上手还比较快,当然也遇到了很多的问题,不过好在基本按图完成。趁此总结一下我遇到的...
  • gavincarter1991
  • gavincarter1991
  • 2017年02月22日 01:19
  • 508

swing JTable学习(五)—中给table中的cell加tips 以及用AbstractTableModel创建表格

package tableTest; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.M...
  • lvyuan30276
  • lvyuan30276
  • 2015年03月18日 23:49
  • 678

性能优化tips(一)

转自:http://www.searchtb.com/2013/04/performance_optimization_tips.html (1)数据对齐是否更快? 从学习数据结构的第一天...
  • Adam040606
  • Adam040606
  • 2015年11月10日 11:40
  • 224

Bootstrap简单认识之Tooltips组件

Tooltips(提示工具)组件一、简介 此组件用到了Tether插件,Tether一般用于搞定两个元素的位置关系,如下代码:new Tether({ // 此为主动附着元素 element:...
  • u012062760
  • u012062760
  • 2017年03月10日 17:11
  • 2039

tips.js提示框插件

DOCTYPE html> html>     head>         title>demotitle>         meta charset="UTF-8">         ...
  • g_blue_wind
  • g_blue_wind
  • 2016年07月18日 12:07
  • 1874

layer ui插件显示tips时,修改字体颜色与大小

今天做调查问卷,又遇到一个蛋疼小问题,记录下。 调查问卷有很多选项是要求必填的,如果不填的话,需要给出友好的提示。用的如下组件:http://layer.layui.com/ 1、之前一直默认用的...
  • sdta25196
  • sdta25196
  • 2017年06月21日 17:21
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Objective-C tips
举报原因:
原因补充:

(最多只允许输入30个字)