首页 > 其他分享 >常回顾 做备忘

常回顾 做备忘

时间:2023-02-05 21:04:53浏览次数:40  
标签:code 函数 回顾 float 备忘 static 内联 label


1.成员变量整xing在初始化时候系统会默认置为0.而在局部变量设置初始化时,一定要赋值置0,因为会有意外发生不是默认为0,下面再用到会出错;

L1:{

int count  = 0; //切莫图方便写为 int count;

}

2.在viewDidLoad中拿到label的frame有可能是不准确的,此时正在对view做一个 渲染的操作,view还未完全绘制出来,所以此时拿到的frame不一定是正确的。所以如果要拿frame做好在viewWillAppear或者viewDidAppear里面。还需要注意的是在viewWillAppear方法内部不要坐太多其他的多余操作,因为每次界面退出后再进来,都会执行这些代码操作,会耗费性能。

3.如果在获取一个view的动态size的时候,有两个方法,一个是CGRectGetMaxX(label),获取控件label在被填充之后的最大X坐标,但是这个在配合autolayout使用中发现,不能得到填充之后的最新值,而是在xib中直接拖进去的那个x,另外还有一个方法特别好,仅在配合autolayout使用填充后,得到是真实的填充后的值,

常回顾 做备忘_#define

4.在开发过程中请求入参以json呈现Xcode控制台或者用charies抓包工具拦截,有不能模拟器型号出现异常问题,不可预料的错误都可查看request/response,例这次6PLUS版本号为7.0请求出现的返回参数异常(另外模拟器重启不能reset账号)。

5.if([returnDetailUrllength] >0)记得这样写是最保险的,既可以拦截空值,也可以拦截为空字符串,因为如果写成if(returnDetailUrl)来判断,returnDetailUrl有可能返回是空字符串,空字符串也是有值的,这样本来空字符串完全是没用的东西,也进去了{}变成操作了·~·

6.在使用动态改变控件内部label和image大小的时候,要这样做

常回顾 做备忘_空字符串_02

记得在苹果官网查阅文档中,会在新开发版本之后又新的API简介,要记得经常查看。

7.

#define RGBA(r,g,b,a)[UIColor colorWithRed:(float)r/255.0f green:(float)g/255.0f blue:(float)b/255.0f alpha:a]

和#define RGBA(r,g,b,a) [UIColor colorWithRed:(float)r green:(float)g blue:(float)b alpha:a]

上面两种写法结果会有很大的区别

8.???


static NSString *const TCTSiftDefaultTabCellIdentifier =@"TCTSiftDefaultTabCell";=

9.

9.内联函数inline

定义:
     有函数的结构,但不具备函数的性质,类似于宏替换。代码中使用inline定义,能否形成内联函数,还要看编译器对内联函数体内部的定义的具体处理。
产生的动机:
     消除函数调用产生的开销,适合与小内存函数,频繁执行的函数。
注意事项:
    不能使用循环语句;不能使用开关语句;不能使用递归调用;定义在第一次调用之前;
结合使用的问题:
   static inline fun_returnType  Fun_name(param...){}
   static 标识此内联联函数只能在本文件中使用,限制了内联函数的作用域。相对于宏来说,static inline具有和宏同样级别的开销,而且还提供了类型安全,没有长度和格式的具体限制


9

常回顾 做备忘_#define_03

常回顾 做备忘_iOS知识常回顾 做备忘_04

9


10.NSNotfound是枚举值 

if(range.location!=NSNotFound) range的location没有值 ,既为空的情况 枚举判断) 

11. 同样 存储key,value,为什么在网络请求中一个可行一个不可行呢

@"code"] = code;

//    [parameters setObject:@"code" forKey:@"code"];

12.

      account.expires_time = [now dateByAddingTimeInterval:<#(NSTimeInterval)#>];

expires_time = [nowdateByAddingTimeInterval: account.expires_in.doubleValue];

      NSTimeInterval看着这么拽的类型,其实就是要个double类型的值,强制转化一下就行了

#define kTCTCacheGet(value) [[TCTCacheManager defaultManager] objectForKey:value]

标签:code,函数,回顾,float,备忘,static,内联,label
From: https://blog.51cto.com/u_15952281/6038420

相关文章

  • 03 回顾方法的调用
    回顾方法的调用packagecom.zhan.base05Oop;publicclassTest03{//回顾方法的调用publicstaticvoidmain(String[]args){//静态方法stat......
  • Tmux操作备忘录
    Starting Your First Session    tmux    start session and set name to it:    tmux new -s name    rename your existing session: ......
  • gdb操作备忘录
    b main - Puts a breakpoint at the beginning of the programb - Puts a breakpoint at the current lineb N - Puts a breakpoint at line N......
  • 第一周总结回顾
    目录一、计算机基础知识1、计算机的本质2、计算机五大组成部分3、计算机三大核心硬件4、路径5、计算机操作系统6、计算机系统的三层结构二、typora软件1、typora的安装2、t......
  • EXCEL使用备忘
    1.表格取值求和   不同Sheet1取值,Sheet名字+!+单元格 ......
  • vim备忘录 -- 可视模式
    DefineaVisualSelectionSwitchingBetweenVisualModesTogglingtheFreeEndofaSelectionIndentOnce,ThenRepeatPreferOperatorstoVisualCommands......
  • vim 备忘录
    插入模式MakeCorrectionsInstantlyfromInsertModeGetBacktoNormalModePastefromaRegisterWithoutLeavingInsertMode......
  • P61 回顾方法及加深
    方法的定义example:com.oop.demo01修饰符返回类型break和return的区别跳出switch,结束循环continue-结束本次循环break-结束全部循环return-方法结束方......
  • TS备忘录
    前言不做笔记不学习一个线上的TypeScript练习地址:TypeScriptPlayground为什么要有TypeScriptTypeScript是JavaScript的超集,因为它扩展了JavaScript,有JavaScript没有......
  • web相关概念回顾、服务器软件_概述
    web相关概念回顾软件架构:C/S:客户端/服务器端B/S:浏览器/服务器端资源分类:静态资源:所有用户访问相同资源后,得到的结构都是一......