基于彻底解耦合的实验性iOS架构   这周我决定做一个关于彻底解耦合的应用架构的实验.我想探究的主题是: “如果所有的应用内通讯都通过一个事件流来完成会怎么样?” 我构造了一个待办事项应用,因为这是我一时激动下所能想到的最原始微型的项目.我会大概地说一下应用结构背后的想法,展示具体实现中的一些代码片段,然后给出几个有关利弊的结论. 整个项目在Github上.作为参考,这篇文章基于0.1标签下的代码. 应用演示 架构总述 为了有一个名字来关联,我把这个架构叫做EventMVVM.它使用少量的MVV…
李洪强iOS开发之-环信02_iOS SDK 介绍及导入 iOS SDK 介绍及导入 iOS SDK 介绍 环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架.包括以下几个部分: SDK_Core: 为核心的消息同步协议实现,完成与服务器之间的信息交换. SDK: 是基于核心协议实现的完整的 IM 功能,实现了不同类型消息的收发.会话管理.群组.好友.聊天室等功能. EaseUI: 是一组 IM 相关的 UI 控件,旨在帮助开发者快速集成环信 SDK. 用户可以基于我们提供的 D…
李洪强漫谈iOS开发[C语言-043]-判断较早日期…
李洪强iOS开发之添加手势 02 - 添加手势…
 李洪强iOS开发之- 实现简单的弹窗 实现的效果:  112222222222223333333333333333…
李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView 11111222…
李洪强iOS开发之苹果使用预览截图 01 在预览的图片中选中你要截得区域  02 - command + C   03 - Command + N 04 - Command + S (保存)…
李洪强iOS开发之通知的使用 01 - 在A中发送通知 02 - 在B中监听通知 03 - 在B中通知出发的方法 04 - 在B控制器viewDidLoad调用通知…
李洪强iOS开发之后使用纯代码实现横向滚动的UIScrollView (VTmagic是一个实现左右滚动的控制器的框架,也可以实现此功能) 实现的效果:  01 - 创建四个控制器 02 - 定义需要的属性 03 - 遵守UIScrollView的代理 04 - 具体方法的实现 …
李洪强漫谈iOS开发[C语言-043]-行李重量计算价格…
李洪强漫谈iOS开发[C语言-042]-简单计算器…
李洪强漫谈iOS开发[C语言-041]-计算月份天数 …
李洪强漫谈iOS开发[C语言-039]-switch case 补充:…
 李洪强漫谈iOS开发[C语言-039]-剪刀石头布…
 李洪强iOS开发之 - 实现九宫格并使用SDWebImage下载图片  源码:  // //  ViewController.m //  08-九宫格扩展 // //  Created by 李洪强 on 15/6/21. //  Copyright (c) 2015年 李洪强. All rights reserved. // #define kWIDTH [UIScreen mainScreen].bounds.size.width #define kHEIGHT [UIScreen mai…
李洪强漫谈iOS开发[C语言-038]-if else if语句…
李洪强漫谈iOS开发[C语言-037]-if else 语句…
李洪强iOS开发之 - WebViewJavascriptBridge 01 - JS端:   02 - iOS端 01 遵守代理协议 02 申明属性 03 开启日志 04 给哪个webview建立JS与Objc的沟通桥梁 05 bridge设置代理  06 - 注册HandleName,用于给JS端调用iOS端  07 - 直接调用JS端注册的HandleName…
李洪强iOS开发本人集成环信的经验总结_09_处理好友请求 实现这种效果: 01 - 遵守处理好友请求的代理协议 02  - 设置代理 03 - 实现代理方法 04 - 实现代理中用到的方法 …
李洪强iOS开发本人集成环信的经验总结_08_自动登录补充 来到Appdelegate里面 01 - 遵守自动登录的代理协议 02 - 设置自动登录的代理 03 - 判断与实现  04 - 代理方法的实现…
李洪强iOS开发本人集成环信的经验总结_07_监听好友请求 来到Appdalegate中: 遵守代理协议 设置代理  实现监听好友请求的回调的方法…
李洪强iOS开发本人集成环信的经验总结_06_发送好友请求 同步好友请求 异步好友请求…
李洪强iOS开发本人集成环信的经验总结_03_注册 环信一共提供了三种注册的方法:  01 同步注册:  02 异步注册:  03 - 使用代理回调进行注册,但是3.0没有了,3.0之前有  调用注册的方法…
 李洪强iOS开发本人集成环信的经验总结_02_基本配置 来到APPdelegate中做一些配置 01 - 导入头文件 02 - 在didFinishLaunchingWithOptions用法总结 03 - 环信具体配置的步骤 自动重连…
李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入 01 - 直接在项目中导入SDK和一些静态库 这个时候,没有错误的编译没有错误的话,就说明SDK已经配置成功 还有一种方法是用cocoapods导入---> 通过 Cocoapods 下载地址: 不包含实时语音版本 SDK(HyphenateSDK),引用时 #import <HyphenateSDK/EMSDK.h> pod 'HyphenateSDK', :git => 'https://github.com/eas…
李洪强iOS开发之-环信05_EaseUI 使用指南 EaseUI 使用指南 简介 EaseUI 封装了 IM 功能常用的控件(如聊天会话.会话列表.联系人列表).旨在帮助开发者快速集成环信 SDK. 源码地址: EaseUI工程 Demo3.0工程 快速集成 第 1 步:集成 EaseUI 前,首先需要集成环信 iOS SDK,参考:集成文档. 第 2 步:参考ChatDemo3.0 导入的方式,直接将EaseUI拖入已经集成SDK的项目中 初始化 第 1 步:引入相关头文件 #import…
李洪强iOS开发之-环信04_消息 消息:IM 交互实体,在 SDK 中对应的类型是 EMMessage.EMMessage 由 EMMessageBody 组成. 构造消息   构造文字消息 EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithText:@"要发送的消息"]; NSString *from = [[EMClient sharedClient] currentUsername];   //生成Mess…
李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 SDK 中,大部分与网络有关的操作,提供的是同步方法(注:同步方法会阻塞主线程,需要用户自己创建异步线程执行:带有 async 的方法为异步方法.) 初始化 SDK 第 1 步:引入相关头文件 #import “EMSDK.h”. 第 2 步:在工程的 AppDelegate 中的以下方法中,调用…
李洪强iOS开发-网络新闻获取数据思路回顾 01 创建一个继承自AFHTTPSessionManager的工具类:LHQNetworkTool 用来发送网络请求获取数据  1.1 定义类方法返回单例对象 1.2 单例的实现,设置baseURL,设置超时时长等 02 创建一个分类, 传入一个类的参数返回一个数组,返回当前类的所有属性 用在模型中处理模型数据 03 创建图片轮播模型(model)类发送请求获取轮播图片的数据  3.1 定义属性: 标题,图片 定义两个类方法: (1)传入一个字典的参数…
李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThread在swift语境中的一些使用和注意点,别他. 3)本文涉及代码可以从https://github.com/HanGangAndHanMeimei/Code地址获得. 二 NSThread的基本使用和创建 1)基本用法(主线程|当前线程) 1 //1.获得执行该方法的当前线程 2 let curr…