iOS开发
文章平均质量分 85
华丽的跌倒
华丽的跌倒,胜过无畏的徘徊!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
项目目录结构管理V1.0.0
1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,对于之前的项目进行了整理,目录结构如下:2.项目目录结构V1.0.0项目目录├── Main│ ├── AppDelegate.h│ └── AppDelegate.m│ └── XMStartImage.png├── RootModule│ ├── ConfigConstants.h│ ├── Api│ │ └── ApiProtocol.原创 2021-03-11 19:57:05 · 533 阅读 · 1 评论 -
iOS即时通讯详解
iOS即时通讯详解iOS即时通讯,从入门到“放弃”?涂耀辉关注302018.01.03 22:11:19字数 8,367阅读 74,714前言本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读。言归正传,首先我们来总结一下我们去实现IM的方式第一种方式,使用第三方IM服务对于短平快的公转载 2020-06-04 16:01:28 · 5846 阅读 · 0 评论 -
多线程
在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let’s begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、什么是并行等问题,转载 2017-03-19 18:30:04 · 812 阅读 · 1 评论 -
UILabel和UIButton添加下划线
原文 http://www.cnblogs.com/xiaofeixiang/p/4582292.html 关于UILabel和UIButton有的时候需要添加下划线,一般有两种方式通过默认的 NSMutableAttributedString设置,第二种就是在drawRect中画一条下划线,本文就简单的选择第一种,第二种有兴趣的可以自己研究一下。 UILabel设置下划线: UILabel转载 2017-02-25 11:48:54 · 1310 阅读 · 0 评论 -
iOS 定位功能的实现详解
导入框架 Xcode中添加“CoreLocation.framework”导入主头文件 #import <CoreLocation/CoreLocation.h>声明管理器和代理 @interface ViewController ()<CLLocationManagerDelegate> @property (nonatomic, strong) CLLocationMana原创 2017-04-09 15:55:37 · 979 阅读 · 0 评论 -
iOS 视频播放
1 AVPlayer(1) 优缺点优点:可以自定义 UI, 进行控制缺点:单纯的播放,没有控制 UI(进度,暂停,播放等按钮),而且如果要显示播放界面, 需要借助AVPlayerLayer, 添加图层到需要展示的图层上(2)实现远程视频播放实现播放功能(只有声音)1.导入框架#import <AVFoundation/AVFoundation.h>2.通过远程 URL 创建 AVPlayer转载 2017-06-07 18:13:25 · 591 阅读 · 0 评论 -
iOS Runtime的使用
欢迎来到华丽的跌倒的博客 阅读了多篇运行时的文章,感觉都很不错,从几篇文章里面提取一些个人认为比较重要的,偏实战的知识点的摘录,另外还结合了个人的创造形成此文。再牛逼的技术和实战结合才有意义,本篇介绍技术尽量和实战联系起来,有些没讲明白的,我给的链接里面都有,所以我就不赘述了,如果觉得可以就点个赞吧,哈哈。不需要打赏。1)替换系统方法,2)字典转model,3)归档,4)万能控制转载 2017-06-07 18:15:07 · 1057 阅读 · 0 评论 -
正确处理ipv6和内购(IAP)及掉单问题
本文来自简书,原文地址:http://www.jianshu.com/p/b7195675ffdd最近开发一个项目涉及到内购, 也遇到过一些问题. 这里拿出来分享一下, 避免一些人走弯路.开头先聊一聊最近苹果关于2017年新的审核机制和沸沸扬扬的微信和苹果的撕逼1. 2017新的审核机制:ipv6: 使用国内阿里云的app上架, 大都会遇到ipv6被拒的邮件:解决方案:方案1. 服务端解决:转载 2017-07-09 16:14:54 · 1426 阅读 · 0 评论 -
UITableView自动计算cell高度并缓存
快来瞧瞧啊!本文来自简书,原文地址:http://www.jianshu.com/p/64f0e1557562这篇文章我们来讲一下UITableView的cell自适应高度,以及遇到的问题的解决办法。在看文章之前希望你已经会UITableView的基本使用了。先奉上这篇文章的demo的Github地址:UITableViewCellHeightDemo。大家可以下载下来和文章配合看。cell高度计算转载 2017-07-09 16:28:55 · 627 阅读 · 0 评论 -
AR Kit初步学习总结
一、AR简介:增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.一个最简单地AR场景实现所需要的技术以及步骤包含如下:多媒体捕捉现实图像:如摄像头三维建模:3D立体模型传感器追踪:主要追踪现实世界动态物体的六轴变化,这六轴分别是X、Y、Z轴位移及转载 2018-02-01 09:48:55 · 11380 阅读 · 0 评论 -
iOS框架研究之SDWebImage的原理以及使用流程
iOS框架研究之SDWebImage的原理以及使用流程SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。SDWebImage支持异步的图片下载+缓存,提供了UIImageView+WebCacha的category,方便使用。SDWebImage加...转载 2018-04-08 14:55:44 · 402 阅读 · 0 评论 -
ios 图像识别技术总结
iOS通过摄像头动态识别图像前言:目前的计算机图像识别,透过现象看本质,主要分为两大类:基于规则运算的图像识别,例如颜色形状等模板匹配方法基于统计的图像识别。例如机器学习ML,神经网络等人工智能方法区别:模板匹配方法适合固定的场景或物体识别,机器学习方法适合大量具有共同特征的场景或物体识别。对比:无论从识别率,准确度,还是适应多变场...转载 2018-04-08 14:58:40 · 4824 阅读 · 0 评论 -
ios 11及iPhone X的那些事
前段时间苹果发布新产品,iPhone8、iPhone 8 plus、iPhoneX,同时也发布了iOS 11,之前一直吐槽Android的适配,现在也第一次体会到了面向机型适配的感受了。反正苹果开心了,友商看到所谓的产品也开心了,大家都是买买买,苦逼的只有我们这群开发者了。ps:以下内容一些引用于它人的博客文章,我都会给出来源的。一些为自己的...转载 2018-04-08 15:02:18 · 902 阅读 · 0 评论 -
如何快速的开发直播App
目录【如何快速的开发一个完整的iOS直播app】(原理篇)【如何快速的开发一个完整的iOS直播app】(播放篇)【如何快速的开发一个完整的iOS直播app】(采集篇)【如何快速的开发一个完整的iOS直播app】(美颜篇)前言大半年没写博客了,但我一直关注着互联网的动向,最近会研究很多东西,并分享,今年移动直播行业的兴起,诞生了一大批网...转载 2018-04-08 15:52:41 · 5776 阅读 · 0 评论 -
IOS LLDB断点调试
原文地址:http://www.jianshu.com/p/d6a0a5e39b0eLLDB阐述LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定...转载 2018-09-26 10:48:32 · 430 阅读 · 0 评论 -
category 详解
我们讲解的category分为三个部分:1:怎么用:运用场景2:不能用:争议性的特点:能做什么不能做什么3:原因:内部原理前言:无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这...转载 2018-09-26 14:14:42 · 7959 阅读 · 0 评论 -
关于Runtime在项目中使用的总结
runtime的实际运用避免nsnull崩溃问题背景:在项目开发中,由于各种各样的原因,服务器接口常常会返回null,而在Objective-C中,向null 发送消息会引发 unrecognized selector的异常,引起app崩溃,产品体验非常不好。 解决方案:一种解决方案是获得服务器接口返回的数据后,进行判断,如果是null,则赋值一个空字符串,或者进行相应的处理,避免崩溃。但是...转载 2018-09-26 14:33:41 · 878 阅读 · 0 评论 -
iOS SDK 打包framework
本文为转载,原博主地址: https://blog.youkuaiyun.com/shihuboke/article/details/78450955 //联系人:石虎 QQ:1...转载 2018-10-18 18:23:52 · 387 阅读 · 0 评论 -
json、xml解析
除了XML和Json,文中还涉及到的一些知识:第三方类库的使用,获取本地文件内容,网站API使用,GCD多线程编程,不做详细介绍,在代码出现的地方会注明。先安利一波:JsonXML大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式。一般来讲,我们会从网络获取XML...转载 2018-10-22 17:50:00 · 532 阅读 · 0 评论 -
iOS开发-队列和同步异步执行
串行队列,并发队列,全局队列(并发),主队列(串行)。执行的方法有:同步执行和异步执行。提到多线程:pthread,NSThread,GCD,NSOperation 其中phtread是跨平台的。 GCD和NSOperation都是常用的,后者是基于前者的。两者区别: GCD的核心概念是将一个任务添加到队列,指定任务执行的方法,然后执行。 NSOperation则是直接将一个操作...转载 2018-10-31 21:33:17 · 2094 阅读 · 1 评论 -
iOS 三种工厂模式(简单工厂模式、工厂模式、抽象工厂模式)详解
iOS 三种工厂模式(简单工厂模式、工厂模式、抽象工厂模式)32017.01.03 16:36:56字数 2559阅读 8507说明:在我理解中,这里所谓的抽象,其实就是制定某一个接口规范。具体体现在代码里,就是设置一个基类,基类遵守某一套接口规范,但是其具体的实现则通过子类化来完成。当然,这里我们也可以使用协议来规范这套接口规范。相对的,具体就是具有对抽象做子类化之后产生的实体。1. 简单工厂...转载 2019-10-11 14:52:40 · 882 阅读 · 0 评论 -
git命令大全
闲着无事,总结了一下git的命令,希望有用,和大家共同进步!查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co – # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区原创 2016-12-05 16:21:04 · 312 阅读 · 0 评论 -
UITableView自定义左滑删除按钮(带图片)
转载请注明本文出自surfaceeee的博客(http://blog.youkuaiyun.com/u010519146/article/details/42882635),请尊重他人的辛勤劳动成果,谢谢!本人一枚新入行的iOS程序猿,苦于tableviewcell左划删除按钮自定义(需要自定义图片)的方法,网上寻找多日未果,遂闭关两日,琢磨得此方法,第一次写博客,各位看官轻拍!废话少说,直入正题。实现效果如转载 2016-12-12 11:24:25 · 6815 阅读 · 0 评论 -
iOS原生效果集成UItableView左滑多个删除按钮
侧滑删除是iOS中非常容易实现的一种效果,你只需要为你的UITableViewDataSource重写这个方法,系统就会自动添加这种操作。 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIn转载 2016-12-12 11:36:42 · 877 阅读 · 0 评论 -
关于HTTP和HTTPS的权限开关
今天在加载https站点的时候遇到如下的错误问题。所以对自己之前写的iOS内嵌webview做了一些修改,可以让它加载http站点也可以让它加载https站点、 下面是我加载https站点的时候出现的错误。 error:原创 2016-12-12 11:52:24 · 1597 阅读 · 0 评论 -
使用NSURLConnection实现http通信的方式。
移动互联网时代,网络通信已是手机终端必不可少的功能。我们的应用中也必不可少的使用了网络通信,增强客户端与服务器交互。这一篇提供了使用NSURLConnection实现http通信的方式。 NSURLConnection提供了异步请求、同步请求两种通信方式。1、异步请求 iOS5.0 SDK NSURLConnection类新增的sendAsynchronousReque原创 2016-12-12 15:20:55 · 507 阅读 · 0 评论 -
AFNetWorking的二次封装
好,下面我就来对AFNetworking再封装: 首先,还是说一下封装的事情,如果是你自己用,那么你可以随便写一写,因为你不用注释也能看的懂。但是如果是给几个人用,你可以直接告诉他们,或者说是写一个比较详细的注释,以便他们日后忘记了看一下就知道每个参数的意义是什么了!!! 我最常用到的就是get,post和upload了。(这几中请求方式也可以去了解一下他们的区别) 直接上代码。 @i原创 2016-12-12 15:48:52 · 446 阅读 · 0 评论 -
runtime系列(一)消息传递
调用方法(函数)是语言经常使用的功能,在 Objective-C 中专业一点的叫法是 传递消息(pass a message)。Objective-C 的方法调用都是 动态绑定,而C语言中函数调用方式是 静态绑定( static binding),也就是说,在编译时期就能决定和知道在运行时所调用的函数。 以下面代码为例: voidsayHello(){}转载 2016-12-12 15:57:11 · 413 阅读 · 0 评论 -
runtime系列(二) method swizzling 与AOP编程
什么是 AOP : (site: baike.baidu.com),引用百度百科中的解释就是: 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑转载 2016-12-12 16:01:38 · 476 阅读 · 0 评论 -
iOS类别(Category)与扩展(Extension)
Category在iOS开发中使用非常频繁。尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性。#import@interface NSObject (Category)- (void)myMethod;@end这是一个最简单的Category,作用于NSObject类,给NSObject添加了一个方法。使用Categ转载 2016-12-12 16:10:01 · 397 阅读 · 0 评论 -
iOS开发调用手机打电话,短信,邮箱和地图
1、调用邮件客户端(Apple Mail)[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];2、调用电话(Phone Number)[[UIApplication sharedApplication] openURL:[NSURL URLWithString转载 2016-12-04 16:59:50 · 971 阅读 · 0 评论 -
ios8之后的UIAlertController详解
昨天工程里需要将 UIActionSheet 中字体的颜色统一为系统的蓝色,所以便去网上找办法。办法很简单,遍历出UIActionSheet中的子控件。当然 这是ios8之前的方法,为什么这么说呢,等下你就知道了,先说说ios8之前的调用吧。IOS8之前创建一个UIActionSheet[objc] view plain copy print?UIActionSheet *t_actionSh转载 2016-12-05 16:17:47 · 729 阅读 · 0 评论 -
iOS之重力感应
第一次学习重力感应,试着写了一个小demo,写的一般,大家互相学习,话不多说,直接上代码! 首先要导入头文件CoreMotion/CoreMotion.h,然后声明CMMotionManager管理类,下面是代码 – (void)stopUpdate { if ([self.motionManager isAccelerometerActive] == YES) {原创 2016-11-30 15:37:08 · 1619 阅读 · 0 评论 -
消息传递机制
使用模型传递数据既然是使用模型传递数据。首先就要定义一个模型,比如 UserModel,新建一个类,继承NSObject(最纯洁的类),放入所需要传递的参数。[objc] view plain copy print?#import <Foundation/Foundation.h> @interface UserModel : NSObject @property(nonatomic转载 2016-12-05 16:34:40 · 1069 阅读 · 0 评论 -
如何检查iOS是否为最新版本
[objc] view plain copy print?- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScree转载 2016-12-05 16:57:46 · 871 阅读 · 0 评论 -
sortedArrayUsingComparator详解
1.降序 NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8]; //降序序8,7,。。 NSArray *tArray = [tMlist sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { NS原创 2016-12-17 16:18:21 · 2779 阅读 · 0 评论 -
ReactiveCocoa详解
前言很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,这里介绍一下.1.ReactiveCocoa简介ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2转载 2017-01-07 14:41:11 · 662 阅读 · 0 评论 -
ReactiveCocoa详解
前言很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,小编看了很多篇都没看出怎么使用ReactiveCocoa,于是决定自己写一遍关于学习ReactiveCocoa的文章,本文主要针对如何从零开始学习ReactiveCocoa,这里非常感谢3个人(支点的雷纯锋,camera360的转载 2016-12-20 20:13:22 · 707 阅读 · 0 评论 -
cocoaPods安装详解
费了两天晚上的功夫安装上了,一边玩守望先锋 ,一边看CocoaPods下载的进度.300多兆的文件,下载了3个多小时,既然咱不是特别聪明,咱就多努力,多一点坚持慢慢来吧.整个安装过程中终端的内容如下(可以略过,对我有点用):Last login: Sat Jul 23 23:07:37 on ttys001bogon:~ liyilin$ gem source -l*** CURRENT SO转载 2017-01-08 23:20:42 · 930 阅读 · 0 评论 -
键盘的升起和隐藏
例如,有一个填写姓名的输入框,当点击姓名下方的输入框时,键盘弹出,界面上移;当点击提交的时候,键盘回收,界面下移;XZSignUpView.h中@interface XZSignUpView : UIView// 点击提交按钮@property (nonatomic,copy)void(^blockSubmitBtn)(NSString *,NSString *);@property (non原创 2017-01-16 17:47:00 · 413 阅读 · 0 评论
分享