iOS屏幕适配

适配的关键

对于大多数开发者而言,UI的开发流程是:设计师出图 ->还原设计师效果图。问题是:设计师一般只会给一套设计图,基于6或者6p,其他设备上的显示信息需要开发者自己去做调整。所以个人觉得还原设计图之前要与设计师进行充分的沟通,在不同屏幕上,字体、元素宽高,元素间距等信息如何处理。只有你们定好了规范,你才能在不同的屏幕上做到还原设计师的设计意图,而不会重复返工修改UI。

屏幕适配包含哪些内容

  • 字体适配
  • 距离适配
  • 图片适配

Read More

iOS_Run_Loop事件监听

Run Loop监听事件列表

  1. run loop的入口事件。
  2. run loop即将处理计时器事件。
  3. run loop即将处理输入源事件。
  4. run loop即将休眠。
  5. run loop已经被唤醒,但是还没有处理唤醒它的事件。
  6. run loop 退出。

Read More

C数组与指针

指针

例子1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int a = 5;
int *p = &a;
std::cout << "a = " << a << "\n";
std::cout << "&a = " << &a << "\n";
std::cout << "p = " << p << "\n";
std::cout << "&p= " << &p << "\n";
std::cout << "*p= " << *p << "\n";
/*
//输出
a = 5
&a = 0x7fff5fbff63c
p = 0x7fff5fbff63c
&p= 0x7fff5fbff630
*p= 5
*/
//以下两句会报错
//Cannot take the address of an rvalue of type 'int *'
std::cout << "&&a = " << &(&a) << "\n";
std::cout << "&&p= " << &(&p) << "\n";

Read More

java-控制台输出乱码问题

问题描述

在工作中遇到这么一个问题,需要将一个巨复杂的常量值到印出来,但是定义的过程中有很多Unicode,输出到控制台都是乱码,使用了很多方法都无法解决,最后使用了commons-lang-2.6这个库解决了。这个库提供了一堆工具类供使用。

Read More

iOS多个网络请求同步

问题描述

大多数前端开发步骤:

  1. 从服务端获取数据
  2. 数据整理
  3. 填充到界面上
    在某些特殊的情况下,界面上所需要展示的数据是从多个接口里获取的,并且这些数据相互关联,需要客户端进行处理才能展示给用户。那么这里的问题是:如何知道请求都回来了。
    问题可简化为:界面刷新的操作需要在接口A,B,C的数据都返回来了才能进行。
    注: 以下使用的网络框架是swift中的Alamofire

Read More

关于iOS推送的总结

本文目的

本文不讲证书配置,不讲APNS的原理,仅描述开发过程中遇到的坑坑洼洼。

推送中的一些坑

大家都知道iOS中推送有本地推送和远程推送。那么我们就分开说了,先说远程推送。

远程推送中的一些坑

就远程推送而言,应用推送到达的场景有:

  • App未启动
  • APP在后台
  • 用户正在玩App
    每种情况下有不同的处理方式,再加上不同的版本iOSApi不一致,导致处理逻辑相当繁琐。
    先介绍远程推送的一些代理方法

Read More