3 十二指环

尚未进行身份认证

如果你不改变什么,那什么都不会改变!

等级
博文 360
排名 6k+

iOS架构-组件化(项目实战-项目首页架构)

UI架构设计设计模式:外观模式、代理模式、适配器模式(adapter)注意:1版本只是搭建结构!一.1.0-Tab搭建二.1.1-新增UICollectionView主页->整体设计基于->UICollectionView(滑动组件)->左右滑动嵌套-&am

2019-03-01 10:20:09

iOS架构-组件化(Carthage管理工具)

一、Carthage项目管理工具使用?Step1:安装/更新Homebrew工具1、/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"2、brewinstallcarthage3、brewlinkcarthage4、brewins...

2019-02-22 10:17:38

iOS架构-组件化(项目框架搭建2)

静态库引用静态库如果像上图一样,直接在业务层组件引用数据层组件的文件,则会报错,因为组件之间没有建立引用关系。如下图静态库如何引用Pods第三方库拷贝Podfile文件到项目,打开终端执行padinstall直接引用Pod下面的YYModel,项目会报错配置第三方库层级调用1.网络基础库结构2.网路层和业务层(调用关系)->交互3.业务分层结构4.U...

2019-02-14 11:32:07

iOS架构-组件化(项目框架搭建)

组件化设计方案方案1.静态库方式+Carthage方式方案2.第三方管理工具CocoaPods方式、Carthage方式组件化设计应用1、项目开发需求:业务分层四层(示例项目分四层,很多主流项目也是这么分层的)网络层:NetworkLayer(组件一)->静态库->.a文件业务层:BusinessLayer(组件二)->静态库->.a文件数据

2019-02-13 10:27:33

iOS进阶_KVC(进阶使用)

1、KVC与字典//KVC与字典-(void)dictionaryTest{WTPerson*p=[WTPersonnew];NSDictionary*dict=@{@"name":@"wt",@"age&amp

2018-12-12 18:17:01

iOS进阶_KVC(基本使用&KVC赋值取值过程分析&KVC自定义&异常处理)

KVC(Key-valuecoding)键值编码基本使用实例:WTPerson.h#import<Foundation/Foundation.h>@interfaceWTPerson:NSObject{//@public//@protect默认NSString*_name;}/**name**///@property(n...

2018-12-07 17:26:32

iOS自动化布局-AutoLayout约束优先级

约束的优先级AutoLayout添加的约束中也有优先级(Priority),优先级的数值1~1000,分为两种情况:一种情况是我们经常添加的各种约束,默认值1000(最大值)优先执行,条件允许的话系统会自动满足我们的约束需求。第二种就是固有约束(intinsiccontentsize)严格说这种更像UILabel和UIButton的一种属性,但是在Autolayout中需要满足属性取值...

2018-12-03 18:29:31

iOS进阶—Runtime源码解析:消息转发

GitHub参考PS:参考GitHub分享的objc-runtime-master代码,及Runtime005代码iOS进阶—目录runtime源码中消息转发相关代码//Noimplementationfound,andmethodresolverdidn'thelp.//Useforwarding.imp=(IMP)_objc_msgForwar...

2018-11-19 15:36:43

iOS进阶—Runtime源码解析:动态方法解析

GitHub参考PS:参考GitHub分享的objc-runtime-master代码iOS进阶—目录

2018-11-19 11:44:27

iOS进阶—Runtime源码解析:消息发送

GitHub参考PS:参考GitHub分享的objc-runtime-master代码iOS进阶—目录1、OC中的方法调用,实际上objc_msgSend函数调用2、objc_msgSend的执行过程大致可以分为三个部分:消息发送动态方法解析消息转发RunTime是开源的,所以我们可以方便的查看到RunTime的源码(可参考Github),底层主要运用的语言包含汇编语言,C/...

2018-11-16 18:11:07

iOS进阶—Runtime:OC方法底层调用过程

GitHub参考PS:参考GitHub分享的Runtime002代码iOS进阶—目录OC方法底层调用过程如果查看OC的底层调用过程,我们需要借助clang工具使用终端cd项目目录clang-rewrite-objcmain.m会生成一个main.cpp文件添加进项目当中,注意不要选择编译选项,如下图我们查看main.cpp文件当中main函数的实现我们把其中关...

2018-11-16 15:33:26

iOS进阶—Runtime基础

iOS进阶—目录GitHub参考RunTime基础一个程序的执行过程,大概就是代码->编译链接->执行C语言#import<Foundation/Foundation.h>voidrun(){NSLog(@"%s",__func__);}intmain(intargc,constchar*argv[]){@aut...

2018-11-16 14:42:50

iOS音视频—FFmepg视频解码

iOS音视频—目录FFmepg视频解码流程分析1、注册组件:av_register_all()例如:编码器、解码器都属于组件2、打开封装格式->打开文件例如:.mp4,.mov,.wmv文件等avformat_open_inout();3、查找视频流/音频流如果是视频解码,就查找视频流,如果是音频解码,就查找音频流avformat_find_stream_info();...

2018-11-16 10:22:55

iOS音视频—FFmepg应用-Android平台使用(NDK项目)

新建NDK项目1、编译.so动态库2、新建在Android平台下的NDK项目Android本身不支持C/C++开发(NDK底层开发),需要我们进行配置NDK:在Android平台下Google提供的支持C/C++开发的一套工具库注意1:新建项目时,需要自己手动勾选这个支持NDK项目注意二:尽量勾选在Java中支持处理C/C++异常,意思是:C/C++出错了,那么在Java程序中...

2018-11-16 10:22:16

iOS音视频—FFmepg基础知识:命令行工具使用&封装格式&视频编码音频编码数据了解&视频像素音频采样数据格式

FFmepg基础知识封装格式1、封装格式:mp4、mov、flv、wmv等等…2、作用:视频流+音频流按照格式进行存储在一个文件中3、MPEG2-TS格式:传输流,又称TS、TP、MPEG-TS或M2T,用于音效、图像与数据的通信协议。属于视频压缩数据格式,特点:数据排版,不包含头文件,数据大小固定(188byte)的TS-Packet.4、FLV格式:FLASHVIDEO简称特...

2018-11-15 15:10:02

iOS音视频—FFmepg基础知识:视频播放流程&视频播放器&播放器信息查看工具

FFmepg基础知识视频播放流程通常我们看到的视频格式:mp4,mov,flv,wmv等等,称之为封装格式,通过解封装之后,同时拿到音频压缩数据和视频压缩数据。分别对其进行音频视频解码得到音频采样和视频像素数据,然后把音频数据渲染到视频上面进行同步播放。视频播放器两种模式播放器:1、可视化界面播放器:腾讯视频,爱奇艺视频,暴风影音,优酷等等,用户可以直接进行操作,简单易懂。2、非可视...

2018-11-14 15:33:08

iOS音视频—FFmepg:iOS平台下集成和应用

1.在iOS平台下集成和应用FFmpeg2.简单介绍FFmpeg库3.讲解在Android平台编译.so动态库4.在Android平台下应用FFmeg的.so动态库

2018-11-12 17:59:40

Mac系统完美安装PHP7详细教程

使用第三方包homebrew来安装,非常迅速有效!安装教程:1.启动Apache首先我们启动系统自带的Apache服务。打开Terminal,输入如下指令://开启Apache服务sudoapachectlstart//查看Apache版本号sudoapachectl-v然后我们验证一下我们开启的apache服务是否可以使用,打开浏览器,输入:http://lo...

2018-10-29 18:19:40

TrueChain development preparation articles - tune test code, perform unit test

OriginallinkTrueChaindevelopmentenvironment,currentlysupportsWindows,MacOS,Linux.Thissectiondescribeshowtoperformunittests.Rungotest-vtorunthetestcode1.IntroductionExecu...

2018-10-18 11:13:51

初链TrueChain主网Beta版技术探究

初链主网Beta版于新加坡时间2018年09月28日08:00正式上线TrueScan区块链浏览器TrueChain官网TrueChain或许是下一个千亿级项目?相较于EOS:EOS其采用的是DPOS共识机制。对运行效率追求之致,但是丧失了区块链的根本去中心化的安全性。名义上是类中心化、半中心化,实际上已全然丧失了区块链去中心化的本质。单一共识机制舍弃去中心化本质,又面临着可见的服务速度...

2018-10-12 15:26:31
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!