- 博客(66)
- 资源 (8)
- 收藏
- 关注
转载 各种动画
原文出处: Robert Böhnke 译文出处:Ckitakishi 我们写的应用程序往往都不是静态的,因为它们需要适应用户的需求以及为执行各种任务而改变状态。在这些状态之间转换时,清晰的揭示正在发生什么是非常重要的。而不是在页面之间跳跃,动画帮助我们解释用户从哪里来,要到哪里去。键盘在 view 中滑进滑出给了我们一个错觉,让我们以为它是简单的被隐藏在屏幕下
2016-03-04 10:47:14 605
转载 各种CALayer
一、CAEmitterLayer 粒子发生器CAEmitterLayer用来实现基于Core Animation的粒子发生器系统。每个粒子都是一个CAEmitterCell的实例。粒子绘制在背景色与border之上。在属性中,可以指定Layer中的CAEmitterCell数组,每个cell定义了自己的一组属性,如速度、粒子发生率、旋转、缩放或者内容等。每个粒子也都有一个emitt
2016-03-04 10:35:55 764
原创 Category和Extension的区别
Category用于给class及其subclass添加新的方法有自己单独的 .h 和 .m文件用于添加新方法,而不能添加新属性(property)ExtensionExtension常被称为是匿名的Category用于给类添加新方法,但只作用于原始类,不作用于subclass只能对有impleme
2016-02-26 17:50:31 485
原创 Xcode一个设备安装两个相同的程序
(1)首先创建通配的AppleID。1.进入苹果开发者中心,选择AppleID,如图。2,添加AppleIDs ,在App ID Suffix下选择Wildcard App ID,格式要求图中写的很清楚。3.该确定的确定,一路完成创建完成即可。(2)修改工程里的Identity。改变Bundle Identifier里的第三个通配符(mokoo1)即可,随便改。
2015-12-09 11:05:57 1243
原创 shell内部命令和外部命令
区别:内部命令:内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被创建。在执行过程中只是简单的改变当前的目录。外部命令:外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建同时命令被
2015-07-20 19:03:00 4640
翻译 Understanding the Objective-C Runtime
Understanding the Objective-C RuntimeThe Objective-C Runtime is one of the overlooked features of Objective-C initially when people are generally introduced to Cocoa/Objective-C. The reaso
2015-06-30 15:46:50 943
原创 Permission denied错误总结
Permission denied 权限被拒绝,就是说你没有权限(读,写,可执行)xcode编译项目Permission denied错误问题:编译项目,错误提示Permission denied原因:当前开发帐号对项目目录没有足够的权限解决: 打开终端,输入命令 sudo chmod -R 777 工作目录
2015-06-11 15:10:29 52249 1
原创 file not found app文件
昨天svn迁移,然后重新check out之后编译遇到这个错误。Ld Build/Products/Debug-iphonesimulator/wiseCloudCrmTests.xctest/wiseCloudCrmTests normal x86_64 cd /Users/zhangsuya/Desktop/root/trunk export IPHONEOS_DEPLOY
2015-06-10 13:20:54 1126
原创 iOS tableView的图片缓存异步加载
1.建立一个viewController..h文件实现UIScrollViewDelegate和UITableViewDelegate,并声明ICTableViewDelegate(用来实现图片有缓存则加载图片,无缓存则请求图片并缓存下来再加载).h文件如下#define KimageKey @"photoFileUrl" ///为数组中每个item中存放图片URL的key名字#def
2015-06-07 07:17:11 2000
原创 NSNotification、delegate和KVO的区别
NSNotification、delegate和KVO的区别形象的解释:假如A和B需要通信,B需要获取A的消息 首先是delegate和notification这两个,A和B之间有相互的关联用delegate,若A和B毫无联系就该用notification。 然后是KVO,delegate和notification是A和B双方合作的事情,而KVO是B单方面的
2015-05-29 10:06:31 566
转载 忘记root密码的解决方法
越狱后的iphone默认root密码是alpine,这个连地球之外的火星人都知道了,有点安全意识的人一般会第一时间更改它。问题来了,有人很久没用root密码,忘了,怎么办?重刷?不必!工具:依然是强大的iFile。root密码文件存放地方:/etc/master.passwd用iFile的文本编辑功能打开master.passwd你会找到类似这样的一行字符—
2015-05-19 10:28:25 1071
转载 The sandbox is not sync with the Podfile
问题描述:github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行。出现例如The sandbox is not sync with the Podfile.lock问题时候,如下所示diff: /../Podfile.lock: No such file or directory diff: Manifest.lock: No
2015-05-01 11:36:23 564
原创 字符串中使用较多的函数和字符串与日期类型转换
字符串使用较多的函数1)componentsSeparatedByString:截取指定字符串;返回类型为数组2) pathForResource:获取程序运行时目录3) objectAtIndex:获取当前索引的字符串;4) rangeOfString:获取指定短字符串在长字符串中的开始,结尾索引值;5) stringWithContentsOfFil
2015-04-22 10:44:19 949
转载 lldb调试命令初探
原文转载自:http://www.starfelix.com/blog/2014/03/17/lldbdiao-shi-ming-ling-chu-tan/LLDB调试命令初探如果你在平时的开发中从未使用过调试器,那你恐怕不知道一个调试器的作用有多大。你可能只满足于通过printf或者NSLog输出信息用于调试。但你只要试着尝试在调试中开始使用调试器LLDB,你会马
2015-04-17 15:41:37 631
原创 iPhone越狱后相关工具的下载
打来CydiaOpenSSH的下载:添加源:http://yuan.duowan.com然后搜索OpenSSH下载即可。MobileTerminal的下载添加源:http://apt.178.com然后搜索MobileTerminal(注意没有空格)。使用MobileTerminal修改root密码:打开MobileTerminal输入以下指令:
2015-04-13 09:37:46 733 1
原创 iOS UITableViewDelegate UITableViewDataSource的含义 和执行顺序
1.UITableViewDelegate UITableViewDataSource的含义dataSource 是UITableViewDataSource类型,主要为UITableView提 供显示用的数据(UITableViewCell),指定UITableViewCell支持的编辑操作类型(insert,delete和 reordering),并根据用户的操作进行相应的数据更新操作,如果数
2015-04-09 18:48:13 1883
原创 跳板(trampoline)实现原理
1.基础知识1.1.虚拟内存虚拟内存到物理内存之间的映射从上面的图中可以得出一些结论:无论是物理内存还是虚拟内存的管理都是以页为单位来进行管理的,并且一般情况下二者的尺寸保持一致。 操作系统为每个进程建立一张进程页表mmu,页表记录着虚拟内存页到物理内存页的映射关系以及相关的权限。并且页表是保存在物理内存页中的。因此所谓的虚拟内存分配其本质就是在页表中建立一个从虚拟内存页到物理内存页的映射关系而已。而所谓的remap就是将不同的虚拟页号映射到同一个物理页号而已。就...
2021-09-03 19:17:05 4625 2
原创 iOS一轮面试-2021
OC基础:1.冷启动的流程:1.mmap主二进制 2.mmap dyld dyld引导依赖的动态库 fix-up 3.objc runtime (category load等) 4.main函数 5.uikit commit transaction引申:mmap的实现原理2.weak的实现原理3.kvo实现原理4.load(分类父类子类的调用顺序) initialze 区别5.category设计模式(拔高题 为什么category不能声明属性 声明属性后会怎么样)为什么categ.
2021-05-21 10:37:00 416 4
原创 苹果系统升级OS X EL Capitan后cocoapod安装
1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources -a https://ruby.taobao.org/ 3.验证新源是否替换成功$gem sources -l4.安装CocoaPods(1)$sudo
2016-07-04 09:40:49 566
转载 Cocoapods trunk
概述关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知道CocoaPods,那可能要面壁30秒了。直奔主题,这篇文章主要介绍如果把你的代码发布到CocoaPods代码库中,让别人可以使用“pod search yourOpenProject”命令查找到你的代码。在2014年5月20日以前,发布代码到CocoaPods可以使用这篇文章。但时过境迁,出于安全性
2016-05-11 10:15:02 1003
转载 git Pull Request
Pull Requests是Bitbucket上方便开发者之间协作的功能。提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论。开发者向团队成员通知功能开发已经完成,Pull Requests是最简单的用法。开发者完成功能开发后,通过Bitbucket账号发起一个Pull Request。这样让涉及这个功能的所有人知道,要去做Code Review和合
2016-03-30 17:45:42 1027
转载 自旋锁(spinLock)的解释
自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。 由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。 信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因此只能在进程上下文使用(_trylock的
2016-03-17 14:41:22 617
转载 iOS 单例的滥用和用依赖注入替代
单例是整个Cocoa中被广泛使用的核心设计模式之一。事实上,苹果开发者库把单例作为"Cocoa核心竞争力"之一。作为一个iOS开发者,我们经常和单例打交道,比如UIApplication和NSFileManager等等。我们在开源项目、苹果示例代码和StackOverflow中见过了无数使用单例的例子。Xcode 甚至有一个默认的 "Dispatch Once" 代码片段(code snippet
2016-03-16 14:38:40 2849 1
转载 动画总结
一.重要参数bounds,frame,position属于基本的几何定位,相互之间数值变化会相互影响anchorPoint:单位参数(0-1)表示,变形(transform)时候的变换源点zPosition:相当于css中z-index的概念,Apple建议不要用这个来替代CALayer层次设置。cornerRadius:圆角二.几何变形(Trans
2016-03-10 16:00:44 700
转载 Mac OS X的内存
简单的说,Mac OS X的[内存]使用情况分为:wired, active, inactive和free四种。 wired是系统核心占用的,永远不会从系统物理[内存]种驱除。 active表示这些[内存]数据正在使用种,或者刚被使用过。 inactive表示这些[内存]中的数据是有效的,但是最近没有被使用。 free, 表示这些[内存]中的数据是无
2016-02-02 13:13:52 460
转载 Category和Extension
一、概述类别是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类)。 二、示例1、声明类别@interf
2015-12-11 17:26:38 439
原创 chisel安装
1.通过Brew安装Chisel,启动终端,输入如下命令即可:brew install chisel没有安装Brew,点这里成功的话终端会返回如下图所示的内容:顺2.然后输入下面命令command script import /usr/local/Cellar/chisel/1.3.0/libexec/fblldb.py >> ~/.lldbinit3.重启Xc
2015-12-08 18:09:10 1787 1
原创 Xcode7.x安装Alcatraz(管理插件的插件)
xcode7.x安装插件命令:curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh安装成功后,重启Xcode时选择load bundles, 不要跳过。就可以看到package manager了。相关链接:唐巧的安装Alcatraz 喵神的注释插件
2015-12-07 16:38:11 434
原创 brew安装地址变了
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"目前可用的地址
2015-12-07 15:06:47 571
转载 UINavigationController的popViewControllerAnimated的控制器移除问题
转载自:http://blog.csdn.net/qijianli/article/details/7852289UINavigationController是IOS编程中的一个view controller的容器,通过栈管理viewControllers,每一次push操作都将在栈顶添加一个view controller,然后通过pop将该栈最顶端的controller移除。我们
2015-12-04 12:48:34 347
原创 好的iOS GitHub链接
1.AsyncDisplayKit:这个框架被用于Facebook自家的应用Paper,能够提高UI的流畅性并缩短响应时间链接: https://github.com/facebook/AsyncDisplayKitasyncdisplaykit优缺点http://blog.163.com/l1_jun/blog/static/143863882015321028112/
2015-12-02 16:51:59 504
原创 App Store 评分 跳转 代码
NSString *str = [NSString stringWithFormat: @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", @"954270"]; //954270为AppID;[[UIApplicatio
2015-12-02 16:24:13 388
原创 电脑未同步iCloud钥匙串
今天配置推送证书,配完证书下载下来,然后打开,未出现添加证书到钥匙串界面。就这样一直找不到推送证书,百思不得其解,why?就这么点背?苹果系统出问题了?我的证书配错了?重配,依然如故。开始怀疑权限受阻。然后我查看偏好设置里的iCloud选项。发现电脑未同步iCloud钥匙串,呵呵,果断把钥匙串选项选中,操作成功后,再次打开证书,成功添加证书到钥匙串,呵呵,浪
2015-11-20 13:32:43 1533
原创 - (void)layoutSublayersOfLayer:(CALayer *)layer
- (void)layoutSublayersOfLayer:(CALayer *)layer设置TextField 边框的颜色的方法写在这里。这个方法在键盘开启和键盘关闭的时候都会被调用。
2015-11-18 17:34:02 1951
转载 Xcode因为证书问题经常报的那些错
去年才开始做 iOS开发的时候,因为证书问题 Xcode 经常报这样或那样的错,经过一年多的实践,现在看见 Xcode 报错已经心平气和了,经常报的错就那么多,整理一下。1、确认下证书是不是开发证书,如果是发布证书就会出现这样的提示。2、证书失效了,去开发者中心重新生成一个。3、包标识符不与描述文件包含
2015-11-15 15:41:44 536
原创 iOS 不能说的秘密
1.iOS 8 及以上UITableViewCell 添加子控件[cell.contentView addSubView:]取得子控件[cell viewWithTag:];2.[imageView addSubView : textField];需添加imageView.userInteractionEnabled = YES;才能使键盘响应点击事件。你在sb上拖控件,不会
2015-09-21 16:23:55 350
class-dump-z_0.2-0.tar
2015-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人