iOS 细则

2021-09-06  本文已影响0人  你飞跃俊杰

一、pod问题:

1.本地库要记得依赖相关的库。
2.pod要指定版本,防止哪个傻逼撤回版本,找不到导致拉不了最新的库。
3.bundle的问题,设置资源需要传bundle或者直接传资源

二、请求问题:

1.请求嵌套请求时,上级请求完成释放时,会自动释放下级请求,导致请求无法接受到—解决不要嵌套,上层变成单例或者持有。
2.网络监听有延迟。大概一到三秒
3.字符串过长,接口失败(250个 神策)。
4.数组、集合、字符的区别,表单提交:数组dict[]无序号和键值对组装dict[0],枚举(,,)
json本身就是嗰字符串,生成就确定顺序了.但是表单提交form的形式,好像有重新做过排序。

三、Xcode缓存问题:

1.打印跟断点的值不同。
2,修改的代码没生效。
3.不同环境会有差异打包报错。
4.刷不出team,因为改team没有证书权限。
5.删除了文件编译不报错.
6.断点和打印的信息是不一样的。

四、第三方问题:

1,分享,配置的urlshecme name会自动删除? 唤不起app : 跳转地址:配置URL Scheme,配置SSO白名单:LSApplicationQueriesSchemes。
2.寻找uiwebview grep -r UIWebView . 同理也可以找其他关键字
3.同时使用了微信登录/支付和友盟分享,回调如果是微信登录/支付友盟就不要在执行回调,不然就执行了2次,谁取第二次会使token失败。

五、企业账号问题:

1.第三方调用会失败(微信登录、苹果登录)。
2.推送不准。

六、RACObser 注册的时候会先执行一次监听

七、header和footer与tableview和collectionView 所在的控制器同名时会自动引用

八、long类型转换为0 — 属性名写错了

九、点击事件不相应:

userintracenable,enable,alpha,hidden,遮挡,超出范围(父类)。父类是个接收手势的scrollview,在子视图,手势传到父视图就处理了不会传到子视图只能用button去抢父类的事件,或者自己加逻辑判断

十、可变与不可变

1.可变的东西,mutable类、数值类,不初始化直接变化会返回nan
2.可变的东西不要直接操作,先new一个再操作,一边便利一边操作会越界等问题
NSMutableAray:使用了add ,del时遍历会崩溃,直接new一个数组来遍历
3.Realm:不要用多线程去操作需要入库的数据,用@synchronized
注意每次一个的主键进来都可以删掉之前的东西msid
string属性用stromg如果是过短,系统会有CFString,常量字符串,赋值时引用计算+1就会奔溃。用copy

十一、富文本

1.lable 加载表格会卡死,webview和textview不会

  1. 限定行高
    textView
textView.textContainer.maximumNumberOfLines = 5 // 可根据需求进行设置要显示的行数
textView.textContainer.lineBreakMode = .byTruncatingTail

lable

///设置段落格式   不设置的话文本超过行高不会出现...
    [paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];

十二、方案:

1.渐变:加2组UI,一个用于渐变,一个用于响应点击事件
2.segment的tableview联动:在某个特点的点之前,偏移同一个header的y,等达到顶点,设置为固定的偏移量。计算tableview的高。计算联动tableview的偏移量,以及什么时候不需要偏移

图片优化:
imageWithName是全局的(小,频繁),imageWithData是局部的(大,使用少)
加载优化:大图和掉帧本地图,异步获取,主线程加载
解压优化:耗时解压在子线程用 CGBitmapContextCreate 进行解压
超大图:
像素过大,需要显示完整图片

显示超大图的局部

蓝色真实文件不编译,黄色沙河文件才编译;icon黑边,不切圆边,不留白
上架需要注意:
允许http,各种硬件打开提示,隐私条例,用户协议

上一篇下一篇

猜你喜欢

热点阅读