提高iOS开发效率的小技巧与思路

2020-01-15 16:13:42王冬梅

在涉及到数字比较大的数据的时候可以采取这个效果来做,效果感人。
想实现这种效果也比较简单。


@property (weak, nonatomic) IBOutlet UICountingLabel *tuitionLabel;

 weakSelf.tuitionLabel.text = self.tuitionForAcademyModel.tuition;

NSInteger grade = [self.tuitionForAcademyModel.tuition integerValue];

weakSelf.tuitionLabel.format = @"%d%";

[weakSelf.tuitionLabel countFromZeroTo:grade];

最重要的一步是设置format,不然他会跑小数的。

4.label文字间距如何调整


- (void)configureContentLabelText
{
  NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:@"Label"];
  long number = 5;
  CFNumberRef num = CFNumberCreate(kCFAllocatorDefault,kCFNumberSInt8Type,&number);
  [attributedString addAttribute:(id)kCTKernAttributeName value:(__bridge id)num range:NSMakeRange(0,[attributedString length])];
  CFRelease(num);

  self.label.attributedText = attributedString;
}

效果如下,字的间距被拉开了

ios开发小技巧,ios开发思路

5 . 登录思路

a.用户进入app后,在使用app的过程中,进行需要登录的操作。

b.这时候调用的后台接口一般需要带上token参数。这时候因为用户没有登录,没有token,所以在这里进行判断本地是否持久化了token.

c.本地没有持久化token,所以自动弹出登录框,让用户进行登录

d.用户登录完毕后将相关数据,特别是token进行本地持久化

小细节:

a.每次启动app的时候可以将token 进行io操作读取出来,保存在单例里面,这样就不用重复的去进行耗费性能的io操作

b.因为项目中自定义控件必不可少,在控件级别的页面,需要使用到需要登录的操作,这时候就需要发送通知给对应的控制器来present login控制器,因为控制器级别才能弹出控制器,这样一来,会产生大量的通知操作,建议可以将login写在window上面(这里因为项目工期紧,发现这个问题的时候已经不好处理,希望后来的兄弟们切记)

c.需要token参数的接口,token参数错误,这时候需要后台给一个统一的回调,这样方便集中起来处理

 

6 . 账号互踢的思路

千万不要尝试在单个页面去处理。

思路如下:

1.需要在登录登出的发送通知到各个控制器,并在通知里面进行各个控制器的初始化操作。

2.在调用需要登录才能操作的接口的时候,后台进行判断给你一个token 参数失效的回调

3.作为一个合理的项目框架,总该有一个AFN的封装吧!在封装的AFN里面进行统一判断,如下图。(因为每个后台处理方式不一样,代码就上图吧,给你们代码也复用不了。)