Socks5代理分析

发布在 网络

概述

项目中遇到了socks5代理环境下UDP不通的问题,在解决问题的过程中,也学习了socks5到底是如何通信的,下面就原理、客户端、服务器三个方面来详细说一下。

阅读全文

iOS强大的泛型

发布在 Objective-C

在学习安卓的过程中,发现java的泛型机制特别的好用,Objective-C是一门动态性弱类型语言,例如毫无关系的两个类ABA *a = [[B alloc] init]Objective-C编译和运行中都不会出错。但是A a = new B()java中编译失败。这样,可以强制编程人员注意类型转换。

在不了解Objective-C的泛型之前,我一直以为Objective-C的泛型是鸡肋,例如:

@property (nonatomic, strong) NSMutableArray<NSString *> *times;
[self.times addObject:[[NSObject alloc] init]];

我声明一个NSString类型的泛型数组,但是我往数组中添加的是一个NSObject类型的对象,虽然编译器会警告,但并不会报错(大部分程序猿也会忽略这个警告)。所以,我认为Objective-C的泛型是鸡肋。当然,这只是我之前的自以为(还是自己学的不深入)。但是今天看过一篇介绍Objective-C的泛型以后,才发现Objective-C也能做到编译时报错。

阅读全文

深入理解Block

发布在 Objective-C

iOS开发中,经常会使用到Block,那Block到底是什么?它的实现方式是什么?通过阅读《Objective-C高级编程:iOS与OS X多线程和内存管理》,会对Block有个更深的了解。

阅读全文

load 方法全程跟踪

发布在 Objective-C

load方法的调用时机

我们都知道,每个类都有两个初始化方法,其中一个就是load方法,对于每一个ClassCategory来说,必定会调用此方法,而且仅调用一次。当包含ClassCategory的程序被库载入系统时,就会执行此方法,并且此过程通常是在程序启动的时候执行。

不同的是,现在iOS系统中已经加入了动态加载特性,这是从macOS应用程序中迁移而来的特性,等应用程序启动好之后再去加载程序库。如果Class和其Category中都重写了load方法,则先调用Class中的。那么为什么会先调用Classload方法呢?通过这篇文章想必你会有个答案。

阅读全文

iOS开发中,多线程开发是个头疼的问题,最大的问题就是资源竞争问题。同一时间,多个线程对资源的读或者写都有可能造成不可预知的问题。解决这种问题的手段就是在操作资源的时候加上锁,那么常用的锁都有哪几种呢?本篇博客就来简单的说一说。

阅读全文

导航一直是App开发中比较重要的一个组件,ReactNative提供了两种导航组件供我们使用,分别是:NavigatorIOSNavigator,但是前者只能用于iOS平台,后者在ReactNative0.44版本以后已经被移除了。好在有人提供了更好的导航组件,就是我们今天要讲的react-navigation,并且ReactNative官方更推荐我们使用此组件。

阅读全文

一天一Android之Service

发布在 Android

Android系统中,知道为什么有些软件杀不死么?很大的原因就是Service。那Service是什么?

ServiceAndroid四大组件之一,开发中会经常用到它,例如当检测到App有新版本的时候,这时候我们一般会开启一个Service去后台下载新包,这时候,无论用户是否清除我们的App,都不会影响下载进度。



阅读全文

一天一Android之WebView

发布在 Android

无论是iOS还是Android,通常都会用到混合模式开发,这就要使用到WebView了,通过js和原生交互,可以实现很多功能。今天就来研究一下WebView

阅读全文
Copyrights © 2019 贵永冬. All Rights Reserved.
作者的图片

贵永冬

iOS开发者
会一点RN和android, 十足的海贼迷


河南信悦通网络科技有限公司


河南 郑州