Welcome 微信登录

首页 / 移动开发 / IOS

iOS开发项目- 基于WebSocket的聊天通讯(1)

iOS开发项目- 基于WebSocket的聊天通讯(1)

公司项目需要开发一个类似QQ、微信的即时IM聊天功能,做到实时监控消息,需要用的技术是websocket。概述WebSocket:1.1 为什么我们需要WebSocket这样的实时的通信协议?WebSocket是web通信方式的一种,像我们熟知的HTTP协议也是web通信方式的一种。但是我们知道HTTP协议是一种无状态的协议,其服务端本身不具备识别客户端的能力,必须借助外部的一些信息比如说session和cookie,才能与特定的客户端保持通信。也就是说我...
iOS开发项目- 基于WebSocket的聊天通讯(2)

iOS开发项目- 基于WebSocket的聊天通讯(2)

公司项目需要开发一个类似QQ、微信的即时IM聊天功能,做到实时监控消息,需要用的技术是websocket,今天整理下语言聊天这块;其实语言聊天,包含两部分,录音和音乐播放,关于简单语言聊天功能如下图:录音在AVFoundation框架中有一个AVAudioRecorder类专门处理录音操作,它同样支持多种音频格式。与AVAudioPlayer类似,你完全可以将它看成是一个录音机控制类,下面是常用的属性和方法:先来了解下AVAudioRecorder的常用属...
iOS开发中Swift3 监听UITextView文字改变的方法(三种方法)

iOS开发中Swift3 监听UITextView文字改变的方法(三种方法)

在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式方式一: 全局通知1.注册通知 在合适位置注册监听UITextView文本变化的全局通知//UITextView 监听开始输入的两种方法//方法一:通知NotificationCenter.default.addObserver(self, selector: #selector(...
iOS对象指针和基础数据类型的强转详解

iOS对象指针和基础数据类型的强转详解

本文主要介绍了iOS中对象指针和基础数据类型如何进行强转,下面话不多说,直接来看示例详解。一、对象指针的强转:UIView *view = [UIView new];//new一个UIView类的对象UILabel *label = (UILabel *)view;//强转成UILabel指针label.text = @"123";//给label的text属性赋值(调用label的setText方法)上述代码会产生崩溃,崩溃信息如下:-[UIView s...
iOS项目开发--实现类似淘宝详情页面

iOS项目开发--实现类似淘宝详情页面

前段时间公司在研发一个电商项目,趁现在有时间把其中的知识点整理整理。项目的商品详情页面当时是仿制淘宝的,用到的第三方库是MJRefresh,上拉操作和下拉操作的刷新效果是把MJRefresh刷新效果从新建个分类封装了一下,感谢杰哥!!!基本思路:1、设置一个 UIScrollView 作为视图底层,并且设置分页为两页2、然后在第一个分页上添加一个 UITableView 并且设置表格能够上提加载(上拉操作即为让视图滚动到下一页)3、 在第二个分页上添加一个...
IOS 打包静态库详细介绍

IOS 打包静态库详细介绍

IOS 打包静态库详细介绍一、前言前段时间看的一本书上说:“隔着一段距离看,很多有趣的知识看起来都很唬人。”比如说这篇我要总结的“静态库知识”,在我初出茅庐的时候着实觉得那些后缀名为“.frameworke”、“.a”、“.dylib”的文件很神秘,很高冷。那时我虽然知道只要导入一个库就能引用库里面很多封装好的东西,但对这个“库”究竟是什么“鬼”,一直都是云里雾里。好了废话不多说,看下去就知道它是个什么“鬼”。二 、一些概念的补充1、 什么是库?所谓库就是...
IOS swift3.0 下闭包语法整理

IOS swift3.0 下闭包语法整理

IOS swift3.0 下闭包语法整理一、闭包的概念有oc基础的都知道,闭包其实是oc里面的block,语法格式不一样,但作用是一样的。主要是用于callBack(异步回调)或者两个类之间的通信。它的本质一个函数,一个可执行的代码块,只是这个函数是没有名字的,也就是匿名函数。你也可以把他看作如 int、float一样,是一种数据类型,一种可以作为参数传递的数据类型。二、基本语法1、闭包的声明 //定义一个求和闭包//闭包类型:(Int,Int)->...
IOS 关键字const 、static、extern详解

IOS 关键字const 、static、extern详解

IOS 关键字const 、static、extern详细介绍:一、前言阅读别人的代码(一些优秀的源码)总能发现一些常见的关键字,随着编程经验的积累大部分还是知道是什么意思的,但在概念上和具体的用法上却依然有些模糊,故特意整理汇总了下三个比较常见的关键字——const/static/extern。二、关键字const/static/extern的释义和用法1、const这个单词翻译成中文是“常量”的意思。在程序中我们知道“常量”的值是不能变的,固定的。所以...
iOS仿微信添加标签效果(shape实现)

iOS仿微信添加标签效果(shape实现)

一、 概述可以说微信做的用户体验太棒了,可以做到老少皆宜,给个赞,我们也同时应该告诫自己,用户体验应该向微信看齐,微信就是我们的标杆,那我们今天也来仿一仿微信添加的标签功能。只能仿着做了,真是做不到微信的那种体验。甘拜下风。我们上篇学习了shape属性的用法,那我们今天就用shape来做下微信的标签功能。先看一下效果。我不仅用到了shape属性,还用到了翔哥的标签布局FlowLayout跟TagFlowLayout鸿洋的博客二、效果图三 、定义shape添...
iOS高仿微信表情输入功能代码分享

iOS高仿微信表情输入功能代码分享

最近项目需求,要实现一个类似微信的的表情输入,于是把微信的表情扒拉出来,实现了一把。可以从这里下载源码。看起来表情输入没有多少东西,不外乎就是用NSTextAttachment来实现图文混排,结果在实现的过程中遇到了很多小问题,接下来会一一介绍遇到过的坑。先上一张效果图:一、实现表情选择View(WKExpressionView)具体的实现就不细说了,主要功能就是点击表情时,将对应表情的图片名称通知给delegate。二、实现表情textView(WKEx...
iOS开发系列--详细讲解C语言之存储方式和作用域

iOS开发系列--详细讲解C语言之存储方式和作用域

概述基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式、作用范围和销毁时间才可能正确的使用这门语言。今天将着重介绍C语言中变量作用范围、存储方式、生命周期、作用域和可访问性。变量作用范围存储方式可访问性变量作用范围在C语言中变量从作用范围包括全局变量和局部变量。全局变量在定义之后所有的函数中均可以使用,只要前面的代码修改了,那么后面的代码中再使用就是修改后的值;局部变量的作用范围一般在一个函数内部(通常在一对大括号{}...
ios学习笔记之基础数据类型的转换

ios学习笔记之基础数据类型的转换

前言前几天在做一些小功能的时候,忽然发现有的基础数据转换都忘记了,于是赶紧整理下记下来!方便自己以后查阅,也给有需要的朋友们一些参考,下面话不多说,来看详细的内容。一、NSString字符串拼接:NSString *string = [NSString stringWithFormat:@"%@%@",对象,对象];字符串与intint intString = [newString intValue];NSString *string = [NSStrin...
iOS开发之通过银行卡号获取所属银行名称

iOS开发之通过银行卡号获取所属银行名称

废话不多说了,直接给大家贴代码了,具体代码如下所示:#pragma mark - 根据银行卡号判断银行名称 + (NSString *)getBankName:(NSString*) cardId{ //发卡行.卡种名称 NSArray *bankName = @[@"邮储银行·绿卡通", @"邮储银行·绿卡银联标准卡", @"邮储银行·绿卡银联标准卡" , @"邮储银行·绿卡专用卡" , @"邮储银行·绿卡银联标准卡",@"邮储银行·绿卡(银联卡)" ,...
iOS开发系列--地图与定位源代码详解

iOS开发系列--地图与定位源代码详解

概览现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式。例如你到了一个陌生的地方想要查找附近的酒店、超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品。总之,目前地图和定位功能已经大量引入到应用开发中。今天就和大家一起看一下iOS如何进行地图和定位开发。定位地图定位要实现地图、导航功能,...
iOS开发系列--详细介绍数据存取

iOS开发系列--详细介绍数据存取

概览在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库。例如前面IOS开发系列—Objective-C之Foundation框架的文章中提到归档、plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录。当然,文件存储并不作为本文的重点内容。本文重点还是说数据库存储,做过数据库开发的朋友应该知道...
XCODE Debug模式资料整理

XCODE Debug模式资料整理

在iOS开发中, 大多时候需要在debug 模式下调试,这里就整理下Debug 的知识1,Debug和Release版本区别?众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式, Debug 和 Release ,在Target的Setting中相信大家应该看到很多选项都分为 Debug 和 Release ,方便我们分别设置,满足调试和发布的不同需求。Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug...
Objective-C中的重载和重写详解

Objective-C中的重载和重写详解

Objective-C 重载和重写首先,Objective-C中不完全支持重载,网上很多人要么将重载和重写搞混,要么说OC不支持重载(当然按照重载严格定义说OC不支持重载也没错),事实上OC支持参数个数不同的函数重载。问题: Objective-C和Swift中有重载吗? Swift中有重载,但Objective-C中基本不支持重载。展开:重载、重写和隐藏三者在编程语言中的定义重载(overload):函数名相同,函数的参数列表不同(包括参数个数和参数类型...
<< 11 12 13 14 15 16 17 18 19 20 >>