
iOS
-
原创
OC坑集: ARC单例模式
OC 的单例也是比较让人蛋疼的. ToolManager.h#import @interface ToolManager : NSObject @property (copy, nonatomic) NSString *tName; + (ToolManager *)sharedToolManager; @end ToolManager.m #import "ToolManag2015-06-23 22:24:47 阅读数 1522 评论数 1 -
原创
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 阅读数 1839 评论数 0 -
原创
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 阅读数 2110 评论数 0 -
原创
iOS UI 技巧: 视图无法被点击
初学 iOS 开发, 有时候会被一些很简单的问题给弄得头昏脑涨. iOS UI 技巧系列博客, 将和大家一起总结和积累在 iOS 开发中遇到的各种奇葩问题. 今天和大家聊聊, 当前设置的视图无法被点击的原因和解决思路. 当我们添加一个视图A到另外一个视图B上面, 希望视图B可以被点击或者被 touch. 当然, 这个是一个再正常不过的要求. 当你一切准备就绪, 发现, 卧槽, B 为什么...2016-06-09 17:48:56 阅读数 3746 评论数 0 -
原创
iOS AutoLayout: XIB 设置 CALayer 属性
苹果的自动布局这套框架的确是好.但是好的同时, 也给开发者带来了不小的挑战. 刚开始使用的时候, 还不如 Android 的 xml 布局好用, 虽然苹果多了可以拖拽的功能.当你熟练使用后, 你会发现, 还真 TM 有那么回事.之前有朋友私信问我, 平时在 iOS 开发中怎么书写 UI 布局的.这里统一给出答复: 优先 AutoLayout. 其次 Masonry. 纯代码打造.2016-06-10 22:19:45 阅读数 1282 评论数 0 -
原创
iOS AutoLayout: 从 X IB 中加载 UIViewController
在博客 iOS AutoLayout: 关联 Xib 和 UIViewController 讨论了 UIViewController 如何和一个 xib 关联并且展现出来.在那篇博客中, 最后说到使用下面这种方式可以加载 ViewController -(instancetype)initWithNibName:(NSString )nibNameOrNil bundle:(NSBundle2016-07-02 17:08:16 阅读数 1072 评论数 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 阅读数 2285 评论数 0 -
原创
iOS 多线程: 信号量
今天跟大家聊聊关于 GCD 中的信号量的使用.网上有很多关于信号量的介绍, 这里只是结合本人一些理解和实际使用来分享给大家.在GCD中有三个函数是semaphore的操作,分别是 1.创建一个semaphore dispatch_semaphore_create 2. 发送一个信号 dispatch_semaphore_signal 会使信号量计数增加1. 32016-07-16 17:51:28 阅读数 1092 评论数 0 -
原创
iOS 多线程: dispatch_barrier_async
该篇是 「iOS 多线程」系列的第三篇.前面两篇可以戳击下面的链接.iOS 多线程: 正确认识 GCD 队列类型 iOS多线程: 信号量该系列博客是为了记录和分享自己关于 iOS 多线程的一些认识, 结合工作中遇到的问题, 和大家交流.欢迎拍砖.在这里你可以完整的查看 dispatch_barrier 的文档.关于dispatch_barrier_async, 有这样的描述: Discussi2016-07-16 23:33:30 阅读数 3847 评论数 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 阅读数 1254 评论数 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 阅读数 1914 评论数 0 -
原创
iOS UI: UIMenuController | InputView 折腾记
本来 UIMenuController 这个东西挺简单的. 直到… 遇到 InputView, 我就醉了, 程序也崩溃了.这里以 Demo 为主, 来说明问题.实现的效果很简单, 如下图ViewController.m#import "ViewController.h"@interface ViewController ()// 罪魁祸首在这里 @property (nonatomic, str2016-08-12 23:19:44 阅读数 1538 评论数 0 -
原创
Cocoapods: 打造本地 pod 库
如果你想了解和学习更多关于 cocoapods 的知识,可以去 这里 查看,有关于搭建私有仓库的知识和一些踩过的坑。 项目到了一定规模, 项目的代码组织和结构显得尤为重要. 重构项目结构, 可以从分离代码开始. 代码分离, 可以把常用稳定的组件封装抽离出来. 我的做法是使用 cocoapods 来管理. 下面进入今天的主题: 使用 cocoapods 管理自己的本地代码. Mac OS...2016-05-14 18:38:16 阅读数 12649 评论数 2 -
原创
Mac OSX 10.11.1+ 安装 Cocoapods
声明: 该篇已被我编辑重新排版到这里 Mac 安装 Cocoapods 该篇不再更新和维护. 欢迎大家关注我的个人微信公众号: ITMan, 微信公众号搜索: ITManMark. 或者扫描一下二维码 ...2016-02-29 23:09:27 阅读数 1028 评论数 0 -
原创
OC实战: ARC 下使用 Block 实现链式语法
本篇博客, 跟大家分享一下实现 objective-c 的链式语法. ----------------------------------------------------------------- 主要内容 1. 基于 ARC. 2. 使用 Objective-c 语言编写. 3. 使用 block 实现. -------------------------------------2015-09-06 23:22:22 阅读数 1406 评论数 0 -
原创
iOS内存话题: 弱引用下的懒加载
iOS内存话题: 弱引用下的懒加载阅读下面的内容之前, 你应该知道什么是懒加载, 话句话说就是延时加载.今天跟大家聊聊对于一个弱引用对象如何使用懒加载, 以及注意事项!直接上例子.工程比较简单, 只有一个 ViewController.#import "ViewController.h"@interface ViewController ()@property (nonatomic, weak)2016-05-20 23:56:33 阅读数 1272 评论数 0 -
原创
IOS8 UI: 由 self.view = nil 引起的思考
首先声明我使用了 ARC, 使用 OC 编码. 有2个 ViewController, 暂且称之为 AController 和 BController. 从 AController切换到(push) BController, 然后再从 BController 返回到 AController 中. 这是很基本的操作. 我手动的释放当前 AController 的 v2015-06-20 17:16:56 阅读数 3205 评论数 0 -
原创
OC坑集: 实例变量不需要 @synthesize
不知道从几何开始, OC 中可以只写 @property 不写 @synthesize 了. 虽然有点不习惯,但是用过之后觉得比较方便. 你需要知道, 写了@property 之后 1. 自动生成了_xxx这样的实例变量. 2. 如果你手动重写 setXXX 和 XXX 方法, 就不会为你自动生成 _xxx 实例变量了. @interface Cat : NSObject @prope2015-06-14 22:13:47 阅读数 861 评论数 0 -
原创
OC坑集: ARC 下覆写 setter/getter
如果你看过博客 OC坑集: 实例变量不需要 @synthesize, 接下来的内容对你来说就是小菜一碟. 在非 ARC 时代, 就是人们常说的 MRC(手动管理内存)时代, 我们需要 retain/release/autorelease 等. cocos2d-x 也借鉴了 oc 的 retain 等操作来管理内存. 这里真心要吐槽一下, c++ 新标准为毛越来越像 java. 好了, 不扯2015-06-14 22:38:56 阅读数 2339 评论数 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 阅读数 7388 评论数 5 -
原创
iOS Crash: symbolicatecrash 工具
iOS 开发中, 我们经常会遇到 crash 的问题. 在开发阶段, crash 很容易排查和解决.但是到了用户手中, 就没那么简单了. 当然, 现在很多第三方的 SDK 有 crash 分析的功能, 我们可以直接集成到我们的项目当中来. ~~大家可以到网上 soso. 但是, 我们还是有必要知道更多 crash 的知识, 不然, 哪天让你开发一个 crash 日志系统, 你就会蒙逼了!2015-11-15 15:58:36 阅读数 964 评论数 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 阅读数 2730 评论数 0 -
原创
iOS 多线程: 正确认识 GCD 队列类型
在面试或者跟一些有 ios 编程经验的人聊到关于 GCD 的队列类型的问题. 很多人说自定义的 queue 是串行队列. 这种说法在一定程度上面是不对的. 今天跟大家聊聊 GCD 中的队列类型问题. ------------------------------------------------------------------------------------------------2015-11-01 00:09:00 阅读数 3375 评论数 0 -
原创
iOS内存话题: performSelector 导致不立即 dealloc
这次的例子是 1. 基于 iphone 项目. 2. 在模拟器上面测试的. 3. 基于 ARC. 例子比较简单, A ViewController 启动 B ViewController. 主要代码在 B ViewController 里面. @interface BViewController () @property (strong, nonatomic) NSMutab2015-11-16 23:53:31 阅读数 2502 评论数 3 -
原创
iOS内存话题: NSTimer 导致无法 dealloc
继博客 iOS内存话题: performSelector 导致不立即 dealloc 后, 今天讨论一下 NSTimer 导致内存无法释放的问题. 直接上例子. ViewController 中打开另一个 ViewController(LoginPage). LoginPage.m #import "LoginPage.h" @interface LoginPage () @prope2016-04-10 22:30:12 阅读数 2444 评论数 0 -
原创
iOS内存话题: 实例变量造成的循环引用
OC 中关于成员变量和属性的区别, 在阅读下面内容之前请自行 google. 工程目录如下 示例较简单, ViewController 直接打开 CoreViewController. Person.h #import typedef void(^PlayFunction)(int x); @interface Person : NSObject @property2016-05-02 23:08:58 阅读数 1428 评论数 0 -
原创
iOS: 由第三方SDK引起 duplicate symbol 的思考
本文建立在 xcode6.4 的基础之上. 开发 App, 难免要接第三方的 SDK. 按照 SDK 文档接入, 理论上说不会有什么错误. ~ 但是, 现实还是不是那么的理想~ ~ 第三方 SDK 一般不会写文档告诉你, 我使用了哪些第三方库, 你们在接入的时候要注意啊类似的话. 可能说出这样的话, 无法体现自己的逼格, 呵呵! 这样就苦逼了程序员们了. 不过, 魔高一尺道高一丈!2015-07-11 17:39:36 阅读数 6764 评论数 0 -
原创
OC坑集: block作为函数参数
对于 OC 的争论一直不休, 对于一门语言, 我觉得只要能解决你的问题就够了. 评论一门编程语言之前, 你需要真正的去用它, OC 孰好孰坏, 需要你自己去尝试. OC 坑集, 主要记载使用 OC 开发项目遇到的问题, 尽量简洁明了, 希望大家喜欢. block 语句块可以作为函数的参数, 在项目中都经常被作为回调来使用. 如果你还不熟悉 block 语法, 请自行 googl2015-06-06 11:02:27 阅读数 11878 评论数 0