美文网首页
你以为简单的NSString你就不会用错了吗?

你以为简单的NSString你就不会用错了吗?

作者: Yanni雅尼 | 来源:发表于2019-01-23 16:07 被阅读0次

NSString 是ios最常用的类,一个应用无非包含文字,图片,视频多媒体。NSString 自然是应用里面使用最频繁的,最容易使用的。越是最简单,越不注意细节,下面举例。

在电商应用中,经常在商品列表显示该商品一共成交了多少笔,因此在返回的商品列表数据中拼接需要的文字,然后再显示,逻辑没问题。一般的代码都会这么写

NSString*countString = [NSString stringWithFormat:@"成交%ld笔",(long)goodsItemModel.salesCount];

cell.concludeLabel.text = countString;

你以为简单的NSString你就不会用错了吗?

我也还特意问了身边的同事,都是有几年的开发经验,觉得这是没什么毛病的。

大家细想一下,NSString提供的类方法给我们拼接字符串,是不是也分配一块内存放这些字符串。虽然我们没有调用alloc 的方法,但是类方法内部还是帮我们实现了这个方法。虽然一个字符串不会多少内存,但是大量的商品的列表,是不是需要很大块内存?我们平时想方设法优化UITableView,但是对于这些细节却不是在乎,当我们滚动商品列表的时候,上述的两个方法是不是不断地重复执行,来回滚动视图,就会导致字符串不断地重复创建,大家可以自己使用instrument自行查看,来回滚动,看NSString 这个类分配的内存是不是持续增加?来回滚动,一般都差不多以0.02Mb的速度在增加,从细小的地方优化自己的内存,能省则省。

我个人优化的方法最简单的,就是在定义的model增加一个字段,来接受这些拼接的字符串,同样的适用其他NSMutableAttributedString类,NSMutableAttributedString这个实现消耗更多的内存,这个主要在于要定义不同位置的字体大小颜色等。

好的,下次在开发中遇到其他细节,再来说。

相关文章

  • 你以为简单的NSString你就不会用错了吗?

    NSString 是ios最常用的类,一个应用无非包含文字,图片,视频多媒体。NSString 自然是应用里面使用...

  • 你以为你不上场就不会输了吗?

    很多人得了一种病,这种病平时没有一点征兆,但一旦到了关键时刻,这种病怎么都藏不住。 这种病的征兆是脸红、心跳,更甚...

  • 《三叉戟》:值得一看的电视剧

    面对枪口,你害怕了吗, 面对质疑,你郁闷了吗, 面对凶险,你犹豫了吗, 不要忘了,你是个警察; 既然从警,就不会懦...

  • 2021-04-16

    【桃树控旺最佳时机,用错了,影响你全年收益!你用会了吗??】https://m.ixigua.com/video/...

  • 2021-04-18

    【桃树控旺最佳时机,用错了,影响你全年收益!你用会了吗??】https://m.ixigua.com/video/...

  • 2021-06-28

    人到中年后才明白: 你自己简单,你的世界就简单。 你不多想, 那些琐碎就不会烦你; 你不多思, 生活的糟粕就不会伤...

  • 你以为这是结束吗?不………………

    经过两天一夜的烧脑和暖心的学习后,你以为结束了吗?不!这才刚开始呢。你以为这是简简单单的培训吗?你错了,...

  • 面对挫折,你用错方法了吗?

    01 四岁的亮亮从幼儿园里回家时,脸上被抓了几道血痕,回来后还笑嘻嘻的,若无其事。问了才想起来是在玩滑滑梯的时候,...

  • NSString 简单细说

    NSString 简单细说(一)—— NSString整体架构NSString 简单细说(二)—— NSStrin...

  • 你以为你赢了吗?

    前几日围观了一场“以小欺大”的舌战,两个大男人争得面红耳赤,彼此都使出了毕生的洪荒之力,少年此时看来略站上风。其实...

网友评论

      本文标题:你以为简单的NSString你就不会用错了吗?

      本文链接:https://www.haomeiwen.com/subject/jlajjqtx.html