iOS多个网络请求同步

问题描述

大多数前端开发步骤:

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

Read More

关于iOS推送的总结

本文目的

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

推送中的一些坑

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

远程推送中的一些坑

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

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

Read More

iOS_NSStream使用指南

NSStream简介

stream(流)是编程中的一个基本抽象概念:一系列的位有序的从一个点传输到另一个点。Cocoa提供了三个类代表steam以便于你在程序中使用:NSStream,NSInputStream,NSOutputStream。使用这些类的实例,你可以读或者写数据从文件或者应用程序的内存。你也可使用在基于socket连接的网络中使用这些对象和远程主机交换数据。你也可继承stream类而获取专有的stream操作。常见的Stream应用场景有:读/写取文件,socket通信, 从NSData中读/写数据, 写数据到buffer中。

Read More

iOS_Bonjour编程总结一

Bonjour 简介

Bonjour是这样的一种技术,设备可以通过它轻松探测并连接到相同网络中的其他设备,整个过程只需要很少的用户参与或是根本就不需要用户参与。典型的Bonjour应用有Remote应用,AirPrint等。建立一个Bonjour连接一般需要三个步骤,服务端发布服务,客户端浏览服务,客户端服务端交互。

Read More

dispatch_async的block中是否该使用_weak self

问题分析

我看过很多文章关于在dispatch_async的block里面使用_weak self, 但是让我疑惑的是,以下代码是否需要必须使用_weak self, 因为我也看到了很多观点说,在有些情况下不需要使用__weak self.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
self.myQueue = dispatch_queue_create("com.biview.core_data", NULL);
dispatch_async(self.myQueue, ^(void){
if(!self.var1){
self.var1 =
}
dispatch_async(dispatch_get_main_queue(), ^(void){
if([self.var2 superview]) {
[self.var2 removeFromSuperview];
}
[self.Label setText:text];
});
});

Read More