- 博客(128)
- 资源 (74)
- 收藏
- 关注
原创 谈谈你对runtime的理解
1.首先编译器会将代码[receiver message];2.转化为objc_msgSend(receiver, @selector (message));,3.在objc_msgSend函数中,首先通过obj的isa指针找到obj对应的class。4.在Class中先去cache中 通过SEL查找对应函数method,若 cache中未找到。5.再去类的分派表中查找,若分派表中...
2019-03-07 11:47:12
1030
转载 谈谈你对block的理解
1、block跟swift中的闭包(closure)基本一样,都常用于值的回调,特别是在多线程的网络请求回调中,使用起来极为方便。2、block的开头是“^”,接着是由小括号所报起来的参数列,行为主体由大括号包起来。block有四种类型,分别是无参无返回、无参有返回、有参有返回、以及有参无返回,而一般使用的block都是有参block,因为使用block主要就是进行参数的传递。...
2019-03-07 10:56:58
508
原创 Cycript的简单使用
Cycript1.首先,要使用Cycript你必须有一台越狱手机,这是必要条件,且能连接SSH2.Cycript是的OC、ES6、Java等语法的混合物3.主要用途:用来查看、修改、调试正在运行的ios、mac app4.官网:http:www.cycript.org/ 文档:http://www.cycript.org/manual/5.cycript的使用:cycript ...
2019-03-05 12:22:45
441
原创 shell脚本知识点
1.我们可以将经常执行的一系列终端命令行放到shell脚本文件中,然后来执行脚本文件。2.可以通过sh、bash、source命令来执行sh脚本。3.sh、bash、source的区别: sh、bash:当前shell环境会启动一个子进程来执行脚本文件,执行后返回到的父进程的shell环境中;行cd时,在子进程中会进入到cd的目录,但是在父进程中环境并没有改变,也就是说目...
2019-03-05 11:51:44
229
转载 iTerm2快捷键笔记
标签新建标签:command + t关闭标签:command + w切换标签:command + 数字 command + 左右方向键切换全屏:command + enter查找:command + f分屏垂直分屏:command + d水平分屏:command + shift + d切换屏幕:command + option + 方向键 command + [...
2019-03-04 12:27:54
207
转载 iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么
收藏。。。介绍armv7|armv7s|arm64都是ARM处理器的指令集i386|x86_64 是Mac处理器的指令集这些指令集在那些设备中有用到呢?arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Dis
2017-02-03 10:52:08
1083
转载 Xcode中和symbols有关的几个设置
其实被这个问题困扰了好久,不过秉承着三分钟热度的新年新气象,还是要多弄懂一点(⊙_⊙)ゞSymbols是什么东西呢?虽然我对它没有深入的了解,但是大概知道它的作用。摘抄《深入理解计算机系统》里的一些描述:一个典型的ELF可重定位目标文件包含下面几个节:... ....symtab:一个符号表,它存放在程序中定义和引用的函数和全局变量信息。一些程序员错误地认为必须通过-g选项来编
2016-11-29 17:52:48
914
转载 iOS开发之Xcode常用调试技巧总结
NSLog,po命令和普通断点调试相信每个iOS开发者都会,这里就不作介绍了。一、Memory GraphXcode8新增:Memory Graph解决闭包引用循环问题这个时候就进入了断点模式,可以查看issue面板,注意选择右边Runtime:有很多叹号说明就有问题了。看内存中object的名字,有一条是Closure captures leake
2016-11-08 16:21:29
418
转载 ReactiveCocoa比较区分replay, replayLast和replayLazily
Subscribing to a Signal 对于一个“普通”的信号,每次订阅都将会导致信号中的代码再执行一遍,且该次订阅者仅接收到该次订阅发送出去的值。 第一个例子演示每次订阅都会重新执行订阅代码。1234567891011121314
2016-07-28 14:49:31
1272
转载 git生成ssh key及本地解决多个ssh key的问题
ssh是一种网络协议,用于计算机之间的加密登录。ssh原理及应用可参考:SSH原理与运用(一):远程登录生成ssh key步骤这里以配置github的ssh key为例:1. 配置git用户名和邮箱git config user.name "用户名"git config user.email "邮箱"在config后加上 --global
2016-06-16 14:06:25
572
转载 实现一个TODO宏
get 新技能 :原文地址:http://blog.sunnyxx.com/2015/03/01/todo-macro/实现一个能产生warning的TODO宏,用于在代码里做备忘,效果:下面一步步来实现这个宏。Let’s do it手动让编译器报警(报错)可以用以下几个方法: #warning sunnyxx#error
2016-05-24 11:37:50
360
转载 Notification Once
这个优化非常不错,,,收藏了。。。前段时间整理项目中的AppDelegate,发现很多写在- application:didFinishLaunchingWithOptions:中的代码都只是为了在程序启动时获得一次调用机会,多为某些模块的初始化工作,如:- (BOOL)application:(UIApplication *)applicationdidFi
2016-05-23 17:54:01
329
转载 优化UITableViewCell高度计算的那些事
原文作者;http://blog.sunnyxx.com/2015/05/17/cell-height-calculation/我是前言这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结。我们也在维护一个开源的扩展,UITableView+FDTemplateLay
2016-05-23 15:53:24
490
转载 交互式动画
转载的。多多学习。。。。在2007年,乔布斯在第一次介绍 iPhone 的时候,iPhone 的触摸屏交互简直就像是一种魔法。最好的例子就是在他第一次滑动 TableView 的展示上。你可以感受到当时观众的反应是多么惊讶,但是对于现在的我们来说早已习以为常。在展示的后面一部分,他特别指出当他给别人看了这个滑动例子,别人说的一句话: “当这个界面滑动的时候我就已经被征服了”.是
2016-05-20 11:18:04
3537
1
转载 iOS多线程编程——GCD与NSOperation总结
很长时间以来,我个人(可能还有很多同学),对多线程编程都存在一些误解。一个很明显的表现是,很多人有这样的看法:新开一个线程,能提高速度,避免阻塞主线程毕竟多线程嘛,几个线程一起跑任务,速度快,还不阻塞主线程,简直完美。在某些场合,我们还见过另一个“高深”的名词——“异步”。这东西好像和多线程挺类似,经过一番百度(阅读了很多质量层次不齐的文章)之后,很多人也没能真正搞
2016-05-04 15:18:01
726
转载 Swift与OC中拷贝与可变性
首先来看一下Objective-C中的拷贝与可变性。为了解释方便,定义两个类:Person和MyObject,它们都继承自NSObject。他们的关系如下:// Person.h@property (strong, nonatomic, nullable) MyObject *object;// MyObjec.h@property (copy, nonatomic) NSStrin
2016-05-03 19:04:05
703
转载 一定要看的。深入理解Objective-C:Category
足下笔记。。。摘要无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Objective-C代码的各个角落,从Apple官方的framework到各个开源
2016-05-03 18:44:38
2419
转载 iOS证书描述文件说明
iOS证书分类说明?开发者证书:(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的。Distributon(发布证书): 用于上传应用 ,同一开发者最多只能创建两个此证书,以公司名 命名此证书 。Development(开发证书):用于发
2016-04-20 12:05:17
4707
转载 Provisioning Profile的创建
Provisioning Profile的创建创建Provisioning Profile的前提:已在Apple Developer网站创建待发布应用所使用的Bundle ID的App ID,且为该App ID创建了APNs证书: 注:如需了解如何创建APNs证书
2016-04-18 16:09:20
2152
转载 iOS消息推送机制中pem文件的生成
以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件有些不同。 一、CSR文件 1、生成Certificate Signing Request(CSR) 2、填写你的邮箱和常用名称,并选择保存到硬盘。 点击继续:
2016-04-18 14:32:15
349
转载 delegate、notification、KVO各优缺点 - xuym
http://www.cnblogs.com/xuym1992/p/3552555.html主题 iOS开发来自 这篇文章delegate 的 优势 : 1.非常严格的语法。所有将听到的事件必须是在delegate协议中有清晰的定义。 2.如果delegate中的一个方法没有实现那么就会出现编译警告/错误
2016-04-07 14:40:28
389
转载 KVC和KVO
KVC和KVO一,KVC KVC也就是key-value-coding,即键值编码,通常是用来给某一个对象的属性进行赋值,例如有人这么一个类,其对外有两个属性,姓名和年龄,我们在创建了一个人p后可以通过点语法直接给p赋值。Person *p = [[Person alloc] init];p.name = @"张三";p.age = 20; 我们也可以通过k
2016-04-07 14:24:59
318
转载 MLeaksFinder:精准 iOS 内存泄露检测工具
转载的笔记-没事多学习学习哦~背景平常我们都会用 Instrument 的 Leaks / Allocations 或其他一些开源库进行内存泄露的排查,但它们都存在各种问题和不便,我们逐个来看这些工具的使用和存在的问题。Leaks先看看 Leaks,从苹果的开发者文档里可以看到,一个 app 的内存分三类:Leaked memory: Memor
2016-04-06 17:19:58
6268
转载 iOS生成静态库方法-iOS集成静态库-iOS合并静态库
在iOS的开发过程中,我们常常用到第三方的库。尤其是QQ、百度地图、广告等。那么,如何制作自己的库文件呢?如果,将自己写的功能类编译成库文件,分发给其他人来使用呢?静态库的优点编译静态库的好处也还是有的!1.让自己的源码不被直接暴漏。2.需要使用时,仅仅拷贝相应的.h文件和.a文件就好,不用在将源码一一拷贝。方便。3.显得也比源码拷贝高端、大气一些。
2016-03-29 16:33:34
353
转载 调用系统通讯录
通常我们在iOS项目中想到通讯录往往有两大方面的需求。一个是让用户自己从通讯录中选择朋友然后我们获取数据完成业务,另一个是项目通过读取用户通讯录信息来完成相应的数据处理,即用户自主行为和应用调取行为。首先谈一下用户自主调用通讯录。这里我们会使用系统控件ABPeoplePickerNavigationController。由于是用户自主行为,调用它我们无须向用户请求授权。但是ABPeople
2016-01-11 15:43:38
656
转载 25个必须记住的SSH命令
OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳
2015-10-27 15:48:47
347
转载 github
step1 注册github注册 github 账号并创建一个repo,假设帐户为YourAccount,repo为test_repo,youremail@youremail.comstep2 下载必要的软件下载git 软件:https://code.google.com/p/msysgit/我用的是Git-1.8.3-preview20130601.exe
2015-10-26 17:10:54
425
转载 常见的项目文件介绍
一、项目文件结构示意图 二、文件介绍1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件2.frameworks文件夹主要用来放依赖的框架3.test文件夹是用来做单元测试的4.常用的文件夹(项目名称文件夹)(1)XXXinfo.plist文件(在该项目中为 01-常见文件-Info.plist)
2015-10-26 11:28:11
545
转载 git常见操作
Create/List/Remove a new Project/Repository$ git init 将在当前目录创建一个隐藏的名为".git"的目录。$ git init project1等价于 $ mkdir project1 && cd project1 && git init$ git status 检查当前目录是否包含一个git repo$ ls .gi
2015-08-25 10:51:46
572
转载 git remote/client 学习笔记
搞了两天git,尝试了几种git server的创建方法,最简单的就是apache http,最后还是选定使用SSH,因为安全、操作方便、可创建账号、client必须上传public key.了解更多:http://www.jedi.be/blog/2009/05/06/8-ways-to-share-your-git-repository/http://stackoverflow.com
2015-08-25 10:50:50
498
转载 CocoaPods安装和使用及问题:Setting up CocoaPods master repo
摘要 ios依赖管理三种方式:手动、git submodule、cocoapods,CocoaPods是一个Objective-C第三方库的管理利器。目录[-]转载的作为笔记留着哦目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景
2015-08-24 18:24:41
20905
翻译 iOS 多线程使用
IOS中支持多线程操作,使用NSThread和NSInvocationOperation可以完成多线程功能。多线程的功能主要是为了防止阻塞主线程的工作(主要是UI操作和显示),使一些耗时的的操作在另一个线程中完成,完成后可以通知主线程来进行UI上的更新。多线程功能在实际开发中用的很多,最典型的就是网络请求和处理操作,下面主要来讨论一下Cocoa中的NSThread和NSInvocationOperation
2015-08-11 19:56:58
348
转载 Protobuf详解
Protobuf详解按:新公司前端后端,使用的数据化方式是protobuf (Protocol Buffer)。 一,什么是Protobuf官方文档给出的是:a language-neutral, platform-neutral, extensible way of serializing structured data for use in co
2015-07-28 14:57:03
1783
转载 OS X 和 iOS 中的多线程技术
多线程技术我们为何需要多线程呢?多线程其实是为了实现并发执行,而且线程是并发执行多个代码路径的多种技术之中比较轻量级的一种(对应较重的实现是多进程)。在单核 CPU 时代,支持多线程的操作系统会通过分配 CPU 计算时间,来实现软件层面的多线程。创建线程,线程间切换都是有成本开销的。但由于多线程可以避免阻塞所造成的 CPU 计算时间浪费,所以多线程所带来的开销成本总体看来是值得的。
2015-07-23 22:44:10
403
转载 Runloop学习笔记
原文地址:http://blog.youkuaiyun.com/jjunjoe/article/details/8313016一、Runloop简介:Run loops 是线程相关的的基础框架的一部分。一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件。使用 run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。
2015-06-24 09:39:52
387
转载 UIWindow & UIWindowLevel
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们
2015-06-09 10:22:48
376
转载 IOS真机调试流程
真机调试前提是需要一个苹果开发者账号,才可以创建证书请求CSR在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明: 苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles) 1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成2、描述文件(Provison
2015-04-28 11:18:48
928
原创 UIButton 不响应或延迟响应 UIControlEventTouchDown
UIControlEventTouchDown使用过程中会出现延迟响应或间歇无响应,一直响应特别的慢,一开始以为是程序哪里写错了,最终发现程序没有问题、就上网找些程序员们解答,最终解决问题,在此在此记录一下解决方案方便以后查找,UIButton的事件中,当你放开手指时会直接响应UIControlEventTouchDown、UIControlEventTouchUpInside两个方法,这种情况下
2015-04-07 20:30:15
6863
转载 C/C++中static关键字作用总结
1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。//a.cchar a = 'A'; // global variablevoid msg(){
2015-03-18 11:00:42
461
字符串、String类和StringBuilder类
2011-05-22
C#中两种数据结构:栈和队列
2011-05-22
C#基础查找算法的分析,实现
2011-05-22
C#中构建字典:DictionaryBase和SortedList类
2011-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人