iOS
文章平均质量分 73
veryitman
不断的给别人和自己创造心流
展开
-
聊聊 WAV
如果要解码 WAV 文件, 首先需要了解一下 WAV 音频文件的格式.今天说的是 线性 PCM 对应的 WAV 数据的格式以及如何在 iOS 上面使用 faad2 进行解码和播放改格式的音频数据。PCM 的种类线性化 PCMA 律量化的 PCMU 律量化的 PCMAD PCMGSMWAV 简介WAV 只是该音频文件的后缀名,其完整名称缩写是 WAVE.WAVE(Wave...原创 2020-02-16 17:42:16 · 958 阅读 · 1 评论 -
iOS AutoLayout: UIView 关联 Xib 不设置 File's Owner
继续上篇iOS AutoLayout: 关联 Xib 和 UIView博客唠叨.新定义一个 UIView 子类, 名字为 Custom2新建 xib 文件, 这里取名为 Custom2.xib看一下视图关系明显没有设置 File owner可以看出, Custom2 这个 View 的 Custom Class 是我们上面定义的 Custom2这个 UIView 的子类.ok, 设置完毕.将视图上面原创 2016-06-09 14:46:39 · 2903 阅读 · 0 评论 -
iOS UI 技巧: 视图无法被点击
初学 iOS 开发, 有时候会被一些很简单的问题给弄得头昏脑涨.iOS UI 技巧系列博客, 将和大家一起总结和积累在 iOS 开发中遇到的各种奇葩问题.今天和大家聊聊, 当前设置的视图无法被点击的原因和解决思路.当我们添加一个视图A到另外一个视图B上面, 希望视图B可以被点击或者被 touch.当然, 这个是一个再正常不过的要求.当你一切准备就绪, 发现, 卧槽, B 为什么...原创 2016-06-09 17:48:56 · 5721 阅读 · 0 评论 -
iOS AutoLayout: XIB 设置 CALayer 属性
苹果的自动布局这套框架的确是好.但是好的同时, 也给开发者带来了不小的挑战. 刚开始使用的时候, 还不如 Android 的 xml 布局好用, 虽然苹果多了可以拖拽的功能.当你熟练使用后, 你会发现, 还真 TM 有那么回事.之前有朋友私信问我, 平时在 iOS 开发中怎么书写 UI 布局的.这里统一给出答复: 优先 AutoLayout. 其次 Masonry. 纯代码打造.原创 2016-06-10 22:19:45 · 1937 阅读 · 0 评论 -
iOS AutoLayout: 从 X IB 中加载 UIViewController
在博客 iOS AutoLayout: 关联 Xib 和 UIViewController 讨论了 UIViewController 如何和一个 xib 关联并且展现出来.在那篇博客中, 最后说到使用下面这种方式可以加载 ViewController -(instancetype)initWithNibName:(NSString )nibNameOrNil bundle:(NSBundle原创 2016-07-02 17:08:16 · 1907 阅读 · 0 评论 -
iOS AutoLayout: 关联 Xib 和 UIViewController
今天主要跟大家分享两个内容 * UIViewController 如何作为 Xib 的 File’s Owner * Xib 中的组件如何和 UIViewController 连线 创建工程 MZXibAndVC简单的创建一个 Single View 的 iOS 工程即可. 创建 xib 文件 View.xib新建文件/iOS/UserInterface View/Empty 编原创 2016-05-29 15:41:09 · 3038 阅读 · 0 评论 -
iOS 多线程: 信号量
今天跟大家聊聊关于 GCD 中的信号量的使用.网上有很多关于信号量的介绍, 这里只是结合本人一些理解和实际使用来分享给大家.在GCD中有三个函数是semaphore的操作,分别是 1.创建一个semaphore dispatch_semaphore_create 2. 发送一个信号 dispatch_semaphore_signal 会使信号量计数增加1. 3原创 2016-07-16 17:51:28 · 1820 阅读 · 0 评论 -
iOS 多线程: dispatch_barrier_async
该篇是 「iOS 多线程」系列的第三篇.前面两篇可以戳击下面的链接.iOS 多线程: 正确认识 GCD 队列类型 iOS多线程: 信号量该系列博客是为了记录和分享自己关于 iOS 多线程的一些认识, 结合工作中遇到的问题, 和大家交流.欢迎拍砖.在这里你可以完整的查看 dispatch_barrier 的文档.关于dispatch_barrier_async, 有这样的描述: Discussi原创 2016-07-16 23:33:30 · 4751 阅读 · 0 评论 -
iOS 音视频: 编译 FFmpeg-3.1.1
今天的主题 为 iOS 编译 FFmpeg3.1.1版本, 并且导入 xcode 工程.环境 1.Mac OS X 10.11.5 2.xcode7.3.1 3.Homebrew 0.9.9 4.FFmpeg3.1.1安装 Homebrew 可以自行到其官网参考安装说明.安装 FFmpeg 需要的编译和依赖 brew install automake fdk-原创 2016-07-30 02:30:18 · 1675 阅读 · 3 评论 -
iOS 音视频: 让 FFMpeg 支持对 H.264 的编码
很多同学被诸如264之类的术语搞懵逼了. 先大概解释一下. H.264 是视频的一种编码标准(规范), x264 是一个库, 实现了对 H.264 视频格式的编码,但是没有实现解码 H.264 的功能. ffmpeg 是一个框架,实现了对 H.264视频格式的解码功能.换句话说 ffmpeg + x264 就包含了对 H.264 格式的编码、解码的实现。看一个典型的图原创 2016-08-03 23:43:59 · 3232 阅读 · 0 评论 -
iOS UI: UIMenuController | InputView 折腾记
本来 UIMenuController 这个东西挺简单的. 直到… 遇到 InputView, 我就醉了, 程序也崩溃了.这里以 Demo 为主, 来说明问题.实现的效果很简单, 如下图ViewController.m#import "ViewController.h"@interface ViewController ()// 罪魁祸首在这里@property (nonatomic, str原创 2016-08-12 23:19:44 · 2152 阅读 · 0 评论 -
Cocoapods: 打造本地 pod 库
如果你想了解和学习更多关于 cocoapods 的知识,可以去 这里 查看,有关于搭建私有仓库的知识和一些踩过的坑。项目到了一定规模, 项目的代码组织和结构显得尤为重要.重构项目结构, 可以从分离代码开始.代码分离, 可以把常用稳定的组件封装抽离出来.我的做法是使用 cocoapods 来管理.下面进入今天的主题: 使用 cocoapods 管理自己的本地代码.Mac OS...原创 2016-05-14 18:38:16 · 15682 阅读 · 2 评论 -
Mac OSX 10.11.1+ 安装 Cocoapods
声明:该篇已被我编辑重新排版到这里 Mac 安装 Cocoapods该篇不再更新和维护. 欢迎大家关注我的个人微信公众号: ITMan, 微信公众号搜索: ITManMark. 或者扫描一下二维码 ...原创 2016-02-29 23:09:27 · 1501 阅读 · 0 评论 -
OC坑集: block作为函数参数
对于 OC 的争论一直不休, 对于一门语言, 我觉得只要能解决你的问题就够了.评论一门编程语言之前, 你需要真正的去用它, OC 孰好孰坏, 需要你自己去尝试.OC 坑集, 主要记载使用 OC 开发项目遇到的问题, 尽量简洁明了, 希望大家喜欢.block 语句块可以作为函数的参数, 在项目中都经常被作为回调来使用.如果你还不熟悉 block 语法, 请自行 googl原创 2015-06-06 11:02:27 · 17636 阅读 · 0 评论 -
iOS AutoLayout: 关联 Xib 和 UIView
在博客 iOS AutoLayout: 关联 Xib 和 UIViewController 中介绍了 UIViewController 如何关联 xib 文件, 并给组件连线和一些问题.今天继续 Autolayout 的话题. 新建一个 Single View 的 iOS 项目 新建一个 Empty 的 Userinterface View, 取名为 View.xib 新建一原创 2016-05-29 17:30:20 · 2519 阅读 · 0 评论 -
OC实战: ARC 下使用 Block 实现链式语法
本篇博客, 跟大家分享一下实现 objective-c 的链式语法.-----------------------------------------------------------------主要内容1. 基于 ARC.2. 使用 Objective-c 语言编写.3. 使用 block 实现.-------------------------------------原创 2015-09-06 23:22:22 · 1851 阅读 · 0 评论 -
iOS内存话题: 弱引用下的懒加载
iOS内存话题: 弱引用下的懒加载阅读下面的内容之前, 你应该知道什么是懒加载, 话句话说就是延时加载.今天跟大家聊聊对于一个弱引用对象如何使用懒加载, 以及注意事项!直接上例子.工程比较简单, 只有一个 ViewController.#import "ViewController.h"@interface ViewController ()@property (nonatomic, weak)原创 2016-05-20 23:56:33 · 1799 阅读 · 0 评论 -
IOS8 UI: 由 self.view = nil 引起的思考
首先声明我使用了 ARC, 使用 OC 编码.有2个 ViewController, 暂且称之为 AController 和 BController.从 AController切换到(push) BController, 然后再从 BController 返回到 AController 中.这是很基本的操作.我手动的释放当前 AController 的 v原创 2015-06-20 17:16:56 · 4244 阅读 · 0 评论 -
OC坑集: 实例变量不需要 @synthesize
不知道从几何开始, OC 中可以只写 @property 不写 @synthesize 了.虽然有点不习惯,但是用过之后觉得比较方便.你需要知道, 写了@property 之后1. 自动生成了_xxx这样的实例变量.2. 如果你手动重写 setXXX 和 XXX 方法, 就不会为你自动生成 _xxx 实例变量了.@interface Cat : NSObject@prope原创 2015-06-14 22:13:47 · 1306 阅读 · 0 评论 -
OC坑集: ARC 下覆写 setter/getter
如果你看过博客 OC坑集: 实例变量不需要 @synthesize, 接下来的内容对你来说就是小菜一碟.在非 ARC 时代, 就是人们常说的 MRC(手动管理内存)时代, 我们需要 retain/release/autorelease 等.cocos2d-x 也借鉴了 oc 的 retain 等操作来管理内存.这里真心要吐槽一下, c++ 新标准为毛越来越像 java.好了, 不扯原创 2015-06-14 22:38:56 · 3060 阅读 · 0 评论 -
OC实战: 抽象类的实现
新博客地址:http://www.veryitman.com/,致力于让开发变得更好!本篇新地址:http://www.veryitman.com/2019/04/21/%E7%94%A8Objective-C%E5%AE%9E%E7%8E%B0%E6%8A%BD%E8%B1%A1%E7%B1%BB/这里, 假设你已经明白了* oc 的继承.* oc 的多态.其实 oc 里面的方法...原创 2015-09-04 17:01:51 · 10008 阅读 · 5 评论 -
iOS Crash: symbolicatecrash 工具
iOS 开发中, 我们经常会遇到 crash 的问题.在开发阶段, crash 很容易排查和解决.但是到了用户手中, 就没那么简单了.当然, 现在很多第三方的 SDK 有 crash 分析的功能, 我们可以直接集成到我们的项目当中来.~~大家可以到网上 soso.但是, 我们还是有必要知道更多 crash 的知识, 不然, 哪天让你开发一个 crash 日志系统, 你就会蒙逼了!原创 2015-11-15 15:58:36 · 1458 阅读 · 0 评论 -
iOS Crash: dwarfdump 检查 UUID
紧接着博客 iOS Crash: symbolicatecrash 工具 继续关于 iOS Crash 的问题.我们知道, 查找 crash 问题的关键是要有符号表即 dsym 文件.并且, app 的 UUID 和 dsym 文件的 UUID 必须要保持一致, 才有意义.dsym 文件其实也没那么神秘, 他就是包含了我们的调试信息, 全名是debug symbols.使用原创 2015-11-15 22:35:15 · 4003 阅读 · 0 评论 -
iOS 多线程: 正确认识 GCD 队列类型
在面试或者跟一些有 ios 编程经验的人聊到关于 GCD 的队列类型的问题.很多人说自定义的 queue 是串行队列.这种说法在一定程度上面是不对的.今天跟大家聊聊 GCD 中的队列类型问题.------------------------------------------------------------------------------------------------原创 2015-11-01 00:09:00 · 4195 阅读 · 0 评论 -
iOS内存话题: performSelector 导致不立即 dealloc
这次的例子是1. 基于 iphone 项目.2. 在模拟器上面测试的.3. 基于 ARC.例子比较简单, A ViewController 启动 B ViewController.主要代码在 B ViewController 里面.@interface BViewController ()@property (strong, nonatomic) NSMutab原创 2015-11-16 23:53:31 · 3728 阅读 · 3 评论 -
iOS内存话题: NSTimer 导致无法 dealloc
继博客 iOS内存话题: performSelector 导致不立即 dealloc 后, 今天讨论一下 NSTimer 导致内存无法释放的问题.直接上例子.ViewController 中打开另一个 ViewController(LoginPage).LoginPage.m#import "LoginPage.h"@interface LoginPage ()@prope原创 2016-04-10 22:30:12 · 3247 阅读 · 0 评论 -
iOS内存话题: 实例变量造成的循环引用
OC 中关于成员变量和属性的区别, 在阅读下面内容之前请自行 google.工程目录如下示例较简单, ViewController 直接打开 CoreViewController.Person.h#import typedef void(^PlayFunction)(int x);@interface Person : NSObject@property原创 2016-05-02 23:08:58 · 2124 阅读 · 0 评论 -
iOS: 由第三方SDK引起 duplicate symbol 的思考
本文建立在 xcode6.4 的基础之上.开发 App, 难免要接第三方的 SDK. 按照 SDK 文档接入, 理论上说不会有什么错误.~但是, 现实还是不是那么的理想~~第三方 SDK 一般不会写文档告诉你, 我使用了哪些第三方库, 你们在接入的时候要注意啊类似的话.可能说出这样的话, 无法体现自己的逼格, 呵呵!这样就苦逼了程序员们了.不过, 魔高一尺道高一丈!原创 2015-07-11 17:39:36 · 8512 阅读 · 0 评论 -
OC坑集: ARC单例模式
OC 的单例也是比较让人蛋疼的.ToolManager.h#import @interface ToolManager : NSObject@property (copy, nonatomic) NSString *tName;+ (ToolManager *)sharedToolManager;@endToolManager.m#import "ToolManag原创 2015-06-23 22:24:47 · 2056 阅读 · 1 评论