当前位置: 首页 > news >正文

seo网站系统谷歌seo 外贸建站

seo网站系统,谷歌seo 外贸建站,广州市做网站公司,临沂网站公司目录 1. filter 优化2. return 优化案例1案例2 3. for循环优化案例1案例2 4. 枚举 优化5. 未完待续…… 1. filter 优化 原代码 if var vcs vcs {for vc in vcs {if vc is XXLoginViewController {if let index vcs.firstIndex(of: vc) {vcs.remove(at: index)}} }修改后 v…

目录

  • 1. filter 优化
  • 2. return 优化
    • 案例1
    • 案例2
  • 3. for循环优化
    • 案例1
    • 案例2
  • 4. 枚举 优化
  • 5. 未完待续……

1. filter 优化

原代码

 if var vcs = vcs {for vc in vcs {if vc is XXLoginViewController {if let index = vcs.firstIndex(of: vc) {vcs.remove(at: index)}}
}

修改后

vcs = vcs?.filter { !($0 is XXLoginViewController) }

或者

vcs?.removeAll(where: { $0 is XXLoginViewController })

filter, map, reduce的用法详见
https://juejin.cn/post/6844903574506307592
https://www.jianshu.com/p/74854e641d87

2. return 优化

案例1

func checkExpire(time: TimeInterval) -> Bool {if Date().timeIntervalSince1970 - time > 0 {return false}return true
}

优化后

func checkExpire(time: TimeInterval) -> Bool {return Date().timeIntervalSince1970 < time
}

是不是更简洁了呢!

案例2

if (isInCache) {return result;
} else {return [DataXXManager.shareManager isStickUpWithXxId:xxId];
}

可以通过移除不必要的else语句来优化代码,因为在if条件满足时,return会直接返回,后续代码不会执行。以下是优化后的代码:

优化后

if (isInCache) {return result;
}
return [DataXXManager.shareManager isStickUpWithXxId:xxId];

3. for循环优化

案例1

for index in 0..<array.count {guard let item = array[index] as? XXX else {continue}// do other
}

优化后

for (index, header) in array.enumerated() {guard let item = header as? XXX else {continue}// do other
}

案例2

优化前

var index = 0
var tempItems: [[ObjectProtocol]] = [ObjectProtocol]
for item in self.items {if index >= 3 {break}if let f = self.items.last as? [ObjectProtocol] {tempItems.append(f)}index += 1
}
self.items = tempItems

优化后

var tempItems: [[ObjectProtocol]] = []for item in self.items.prefix(3) {if let f = item as? [ObjectProtocol] {tempItems.append(f)}
}self.items = tempItems

4. 枚举 优化

例如有如下的需求,像数据库中添加obj字段,obj的order字段如果是auto,则根据head和tail字段来表示自动变化order,如果非auto,则使用obj自己的order字段 内容。
直观的代码如下:

- (void)addSomethingToDB(NSObject *)obj auto:(BOOL)auto isAddToHead:(BOOL)head isAddToTail:(BOOL)tail {if (auto) {if (head) {obj.order = --index} else if (tail) {obj.order = ++index}}
}

上面的代码,用了auto, head和tail来表示,添加的顺序。是不是繁琐。那怎么简化呢?
可以用枚举来优化。

typedef NS_ENUM(NSInteger, XXSortOrder) {XXSortOrderNo, // 不自动排序XXSortOrderAddToHead, // 自动排序,在头插入XXSortOrderAddTail, // 自动排序,在尾插入
}- (void)addSomethingToDB(NSObject *)obj sortType:(XXSortOrder)sortType {if (XXSortOrder == XXSortOrderAddToHead) {obj.order = --index} else if (XXSortOrder == XXSortOrderAddToHead) {obj.order = ++index}
}

这么写,是不是从方法名和函数内容都精简了不少呢?哈。

5. 未完待续……

http://www.qdjiajiao.com/news/4623.html

相关文章:

  • 汉中做网站公司搜狗收录批量查询
  • 做一个软件大概要多少钱武汉网站seo推广公司
  • 企业网站建设457216336叶涛网站推广优化
  • 用php做的网站源代码深圳靠谱网站建设公司
  • 帝国cms的手机网站海外推广营销 平台
  • 免费b2b网络推广北京自动seo
  • 织梦网站栏目调用百度推广费用怎么算
  • 后台给网站做关键字百度灰色关键词代做
  • html网页设计代码作业简单泰安seo
  • h5页面网站模板广东深圳疫情最新消息今天
  • 做网站诊断互联网广告营销方案
  • 做问卷有哪些网站seo优化对网店的推广的作用为
  • 网站制作费会计分录怎么做漯河网站seo
  • 多多淘宝客网站磁力搜索器在线
  • ip做网站域名引擎搜索有哪些
  • 现在网站做多宽的网站排名软件包年
  • 北京十大品牌装修公司广州四楚seo顾问
  • 怎样在国外网站做推广网络推广专员所需知识
  • wordpress 公网网站关键词搜索排名优化
  • 5设计网站免费制作自己的网站
  • 销型网站建设必须的步骤包括如何在百度搜索排名靠前
  • 网站建设的主要缺陷宁波seo链接优化
  • 徐州企业网站模板建站如何做好搜索引擎优化工作
  • 做网站毕业实训报告百度com百度一下你
  • 小升初在线做试卷的网站宝鸡seo优化公司
  • 中午网站做google广告好吗推广码怎么填
  • dw网站制作的一般流程cba最新积分榜
  • DW如何做明星的个人网站温州seo招聘
  • 山东淄博微信网站制作搜索引擎调词平台哪个好
  • 婚纱摄影网站管理系统网站制作的重要性及步骤详解