随笔分类 - iOS 开发集锦
针对项目中的开发问题,进行记录分享,不积跬步,无以至千里。
摘要:clang编译的两种方法 1.使用绝对路径: clang -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPho
阅读全文
摘要:Swift之父Chris Lattner,也是LLVM之父,从2014年公布Swift后,版本一直不大稳定,在Swift3.0以后语法逐渐稳定,开发者对此比较青睐 Chris Lattner从苹果离职到了特斯拉,自己感觉不适合自己,结果又辗转去了谷歌,比较牛逼的是去参与人工智能,机器学习方面的研究,
阅读全文
摘要://在现实开发中 需要控制文本输入长度 并实时做短信验证,代码如下 [self.textField addTarget:self action:@selector(codeChange:) forControlEvents:UIControlEventEditingChanged]; - (BOOL
阅读全文
摘要:――― TEMPLATE END ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― [!] Oh no, an error occurred. Search for existing GitHub issues simi
阅读全文
摘要:工作中遇到前后台交互,前端解析不了后端返回的数据格式 ,原因在于没有标准统一的请求格式 这是个坑,但是还是有办法修复 错误提示: Error Domain=NSCocoaErrorDomain Code=3840 “JSON text did not start with array or obje
阅读全文
摘要:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/ libstdc++.6.0.9.tbd 用mac新建text文件(记住扩展名为tbd
阅读全文
摘要:///更新约束和布局 更新约束布局相关的API - (void)updateConstraintsIfNeeded 调用此方法,如果有标记为需要重新布局的约束,则立即进行重新布局,内部会调用updateConstraints方法 - (void)updateConstraints 重写此方法,内部实
阅读全文
摘要:直播技术的流程大致分为以下步骤: 1.数据采集(通过摄像头和麦克风获得实时的音视频数据) 2.图像处理(将数据采集的输入流进行实时滤镜,得到我们美化之后的视频帧), 3.视频编码,封包,上传,云端(转码,录制,分发) 4.直播播放器
阅读全文
摘要:### Error ``` RuntimeError - [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the '
阅读全文
摘要:单例优点:单例模式可以保证系统中一个类只有一个实例而且实例易于外界访问,从而方便对实例个数的控制并节约系统资源 从而方便对实例个数的控制并节约系统资源。 单例模式因为类控制了实例化过程,所以类可以更加灵活修改实例化过程 缺点:单例对象一旦建立,对象指针是保存在静态区的,单例对象在椎中分配的内存空间,
阅读全文
摘要:LLDB (Low Level Debugger)默认内置于Xcode的动态调试工具 1.打印命令 po age /call age /p age /print age 查看所有的断点:breakpoint list 2.断点操作 breakpoint list 3.设置观察点 watchpoint
阅读全文
摘要:mkdir folder //创建文件夹 cd folder/ git clone git连接 git status //git当前的状态 ls //当前目录下的所有文件 cd gitFolder 进入Git目录 git cherry 更新当前分支 git log //看日志 git add . (
阅读全文
摘要:Xcode 创建一个mac OS command Line Tool程序 步骤打开终端 cd + 工程路径(绝对路径)(注:拖拽main.m文件到终端) input —preprocessor—-complier—backend—assembler—-linker—bind-arch 程序入口做的处
阅读全文
摘要:cocoapods管理第三方库,详见cocoapods安装及使用 OC代码风格需要规范,所有第三方依赖需要用cocoapods管理。代码风格需要: 1. pod 'CodeFormatter', :git => 'https://xxxxx.yyy.zzz/CodeFormatter.git'//所
阅读全文
摘要:# 算法 一.冒泡排序 buddle sort 冒泡排序是一种交换排序 两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。 算法思想:它重复地走访要排列的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来 走访数列的工作是重复地进行直到没有再需要交换,也就是
阅读全文
摘要:1.工具下载 http://stevenygard.com/projects/class-dump/ 选择dmg安装包 2.打开终端输入:open/usr/local/bin 3. 4.修改权限在终端键入: sudo chmod 777 /usr/local/bin/class-dump 5.使用P
阅读全文
摘要:出错日志一直报SEGV_ACCERR,原因原来是第三方库SDWebImage下载图片,远程图片的json文件不对导致的闪退 解决方法: 1.command + B 编译工程(最好在编译工程时,清除下缓存 按command+shift+k) 2.打开终端,cd + 把.app文件拖拽到终端上,按下回车
阅读全文
摘要:野指针:不是NULL指针,是指向垃圾内存的指针 野指针成因: 1.指针变量没有被初始化:指针变量在创建时同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。 2.指针p被free或者delete,没有被设置为NULL,让人误以为p是个合法的指针。 注意:不要返回指向栈内存的指针或引用
阅读全文
摘要:OC中的method其实是一个结构体 struct objc_method{ SEL method_name char *method_types IMP method_imp } SEL是方法名,IMP其实就是一个C函数的指针,可以直接强制转换的,runtime中的IMP可以直接操作这些函数 方法
阅读全文
摘要:HOOK(钩子函数)在OCD动态化语言中使用swizzle method (交换方法来实现) 实际上静态C语言中的函数也是有办法hook的,这也说明绝对的静态语言是不存在的 Mach-O:对于每个操作系统中的可执行程序都是有格式的,如ELF是Linux下可执行文件的格式,对于OS X和iOS来说,M
阅读全文

浙公网安备 33010602011771号