- 博客(42)
- 资源 (9)
- 收藏
- 关注
原创 Objective-C的Runtime机制的应用示例总结
Objective-C是一门动态语言,不同于许多静态语言,例如C语言,只能在编译和链接阶段把程序运行的上下文做好,在运行期间,无法修改,缺少动态性。Objective-C的动态性,给开发者提供了一种在运行期,修改程序执行流程的机会,这要归功于其强大的Runtime机制。 这篇文章主要介绍,目前,Runtime机制在我们项目中的应用场景。前言ObjC语言中,runtime运行机制主要依赖于两个头
2016-01-21 13:52:52
678
原创 如何查看手机上安装的任意app的视图层次?
疑问,这个app怎么布局的?不是自家的app,没有源代码怎么看布局? 微信“朋友圈”怎么实现的,新浪微博的评论列表怎么搞的? 有个工具可以查看view的层次结构就好了。答案是可以的。 如下: 右侧是微信的朋友圈,左侧reveal分析出来的UI层级关系。准备工作: 1. 一台破解版的iOS 设备,本文测试机iOS 8.3.0 2. Reveal软件 3. 手机和电脑处于一个网段开始
2015-09-06 18:02:56
5318
原创 self和super到底怎么用?
开发过程中遇到一个问题,问题描述如下: 有一个UIView的子类(CTestLevel),实现了init方法和initWithFrame方法,如下图: 问题: 1. 初始化一个对象 CTestLevel *testObj = [CTestLevel alloc] init]; 2. 设置断点,查看调用关系 3. 查看堆栈 查看调用关系和堆栈,可以发现:testObjc
2015-08-20 15:28:44
773
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-06-24 22:09:17
376
原创 URL编码
iOS url编码CFURLCreateStringByAddingPercentEscapes 方法解释CFStringRef CFURLCreateStringByAddingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveUnescaped, CF
2015-04-18 22:19:19
719
原创 《追风筝的人》
追风筝的人缘由今早去豆瓣看评论,首先看到了 《速度与激情7》在首页的宣传图 是这样的: 又看到右下角有个看过,和想看的人数,如下图: 看着人数,应该很火.又看到一个推荐电影的页面,就是你如果喜欢看《速度与激情7》 那么你同样可能喜欢看下列电影: 确实推荐的比较靠谱,都是动作,冒险,刺激的大片). 想起来前段时间有个大牛分享了爬虫的实现逻辑(参考这里:豆瓣爬虫)。 于是产生了一
2015-04-12 21:29:39
976
翻译 Apple Watch开发文档--7
界面对象你使用界面对象来操作WatchKit app的UI. 一个界面对象是一个WKInterfaceObject类的实例,或者是它的子类. WatchKit 库提供了大部分(并非全部)的可视化的元素,你可以添加到你的故事板文件的UI. 界面对象不是view.他们是与在apple watch上使用的真实view进行无线交流的代理对象.注意:在界面对象和其相关的apple watch的视图交流是信息从
2015-04-09 09:55:50
1176
翻译 Apple Watch开发文档--6
界面导航对于多于一个屏幕内容的WatchKit app,你必须选择一种导航界面的技术. WatchKit app包含两种独立的导航样式: * 基于页式 这种样式适合带有简单数据的app,他们页与页直接的数据关系不紧密. 基于页式的界面包含两个或者更多的独立界面控制器,在任何时间都只会展示其中的一个. 在运行期,用户通过在屏幕上左右滑动来导航界面控制器. 在屏幕底部的点标记符表示用户当前所在页面的位
2015-04-09 09:54:07
953
翻译 Apple Watch开发文档--5
UI要领开始实现你的app的第一步是定义你的故事板情景.每个情景规定了你的app界面的一部分.你可以为不同大小的apple watch定制情景,你可以配置你的界面某些东西.组装你的故事板情景WatchKit app不使用和iOS app一样的布局模型. 当你组装WatchKit app的界面情景时,你不需要在可用的空间上随意的放置元素来创建View的层次. 相反,当你增加元素到情景时,Xcode自
2015-04-09 09:52:38
1011
翻译 Apple Watch开发文档--4
利用iOS的技术WatchKit extension使用和iOS app开发相同的技术,但是因为他们是extension,使用这些技术可能要有限制,有一些技术也是不推荐使用的. 这里有个列表显示了在某些时候使用特定的技术: * 避免使用需要用户许可的技术,例如位置地位.在WatchKit extension中第一次使用这个技术,可能会引起一个在用户手机上的不期望的提示. 更糟糕的是,这时候用户的手
2015-04-09 09:52:20
1040
翻译 Apple Watch开发文档--3
WatchKit App架构在实现app的界面时,WatchKit app和WatchKit extension是串行工作的.当用户与Apple Watch上的app进行交互时,WatchKit app从故事版(storyboard)中选择合适的场景与之交互.例如,当用户查看app的glance的时候,它选择一个glance情景. 在选择这个情景之后,WatchKit 告知它配对的iPhone去启动
2015-04-09 09:50:15
1686
翻译 Apple Watch开发文档--2
配置你的Xcode工程WatchKit App需要一个存在iOS app. 在你的iOS app的xcode的工程中,你添加一个新的WatchKit app target, 用于为你的WatchKit app 和WatchKit extension配置Bundles和初始资源. 这些包被当作iOS app的一部分提交到App Store.Xcode提供的WatchKit app Target包含了你
2015-04-09 09:47:35
884
翻译 Apple Watch开发文档--1
前言Apple Watch的发展重要: 这是一个关于API和开发技术的最初文档.苹果公司提供这些开发信息是帮助你采纳这些技术和编程方法来使用苹果品牌的产品。这些东西是可能变化的,软件的最终测试应该在最终的操作系统和最终的文档上。新的文档版本可能会提供一些新的API或者开发技术。使用Apple Watch,用户可以使用一种新的方式访问数据(显试的,或者不经意间). 不用把手机从口袋里面掏出来,用户只
2015-04-09 09:41:47
843
转载 打印subview的层次结构
- (void)prp_printSubviewsWithIndentString:(NSString *)indentString { if (indentString == nil) indentString =@""; NSString *viewDescription = NSStringFromClass([self class]);
2014-10-14 09:58:04
607
转载 Objective C类方法load和initialize的区别
Objective C类方法load和initialize的区别过去两个星期里,为了完成一个工作,接触到了NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法,我
2014-09-10 15:29:11
751
转载 CocoaPods安装和使用教程
CocoaPods安装和使用教程Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含C
2014-08-19 11:33:00
452
转载 loadView、viewDidLoad及viewDidUnload的关系
由于bloadView、viewDidLoad及viewDidUnload的关系本文目录一、loadView二、viewDidLoad三、viewDidUnload四、三个方法的关系标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间
2014-06-21 23:20:48
497
转载 vimum 的快捷键
Navigating the pagej, :Scroll down (scrollDown)k, :Scroll up (scrollUp)h:Scroll left (scrollLeft)l:Scroll right (scrollRight)gg:Scroll to th
2014-06-20 21:50:55
1207
原创 IOS--限制位置的算法
把坐标限制在一个范围之内的算法:例如:把点P的x坐标限制到【50,80】的区间内。算法: x = MAX(x,50); x = MIN(80,x);over简写为:x = MIN(80,MAX(x,50));
2014-03-21 18:50:20
570
转载 发布app store流程
转载地址:http://www.cnblogs.com/max5945/archive/2012/11/09/2762963.html一、添加新版本。1.http://itunesconnect.apple.com/2.manage your application3.选择自选股4.add version5.配置发布的信息。二、检查以下项目
2014-03-05 15:10:33
658
原创 IOS开发:NSDateFormatter的问题
今天下午遇到一个问题.description: 找userDate之前大约三个月(相当于90天)的日期是多少?方法:使用了下面的方法:NSDate *threeMonthBeforeDate = [NSDate dateWithTimeInterval:-60*60*24*30*3 sinceDate:userDate];但是结果总是不对,犹豫了好久,最后发现是userDate
2014-03-04 18:08:12
809
原创 IOS 绘制曲线
如下图所示的曲线,类似与股票曲线图:在一个UIView里实现函数:-(void)drawRect:(CGRect)rect{ CGRect bounds = CGRectMake(0,0,200,200); //长和宽都为200. CGContextRef context =UIGraphicsGetCurrentContext(
2013-08-15 17:36:31
1082
原创 UIScrollView的属性contentSize contentOffset
IOS开发中,遇到控件UIScrollView时,涉及到几个属性问题,如contentSize,contentOffset。网上有很多解释,感觉都解释的不清楚。对初学者来说很迷惑。UIScrollView是为了解决大图在屏幕上显示不开的情况,因为iphone的屏幕就那么大,大约是320*480大小,而如果有一个500*1000的图片,我们肯定是不能完全展现出来的。因此我们出现了Scroll
2013-07-30 21:21:53
825
原创 Ubuntu eclipse tomcat 配置说明
1. 首先安装好了tom猫(eclipse插件)。 以及windows->preference->server选项要存在(支持WTP(web-tool-package)web开发工具包)2. 相关配置如下2.1 window->preference2.2 server->Runtime Environment如果右侧没有apac
2013-05-01 14:23:50
743
原创 运行Hadoop程序,出现 Filesystem closed 异常
运行Hadoop程序 时,出现 Filesystem closed异常。通过查证是设置了缓存。需要取消缓存。通过修改配置文件core-site.xml: fs.hdfs.impl.disable.cachetrue程序仍然出现上述问题。在程序中,加上这条语句:JobConf jobConf.set("fs.hdfs.impl.disable.cache", "t
2012-08-09 15:42:37
2602
原创 Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its gener
Java的jdk版本1.7出现了如下的问题:Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(Unknown Source)
2012-07-20 09:43:02
5342
原创 C# ListView控件的使用方法 简介
ListView控件: (一) 生成一个ListView对象 listView1:ListView listView1 = new ListView(); (二) listView1对象的属性 //设置listView1的大小 listView1.Bounds = new Rectangle(new Point(10, 10), new Size(300, 200
2012-07-17 13:59:02
2870
1
原创 C# 使用MySQLDriverCS 连接MySQL 数据库
第一步:下载和安装MySQLDriverCS.下载地址:http://sourceforge.net/projects/mysqldrivercs/ (下载的版本为 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe)下载下来.exe文件,点击下一步,下一步...在安装的文件夹下面有个dll文件夹,dll文件下面有个MySQLDrive
2012-07-16 10:39:12
4893
原创 《C语言深度剖析》:大小端模式判断
大小端模式介绍:例如:int a = 1;a 的值为1,其中变量a占4个字节. 用16进制表示为0x00000001 四个字节 (16进制,2位表示一个字节)如果是小端模式则内存存储方式如下:低地址01000000高地址如果是大端模式则内存存储方式如下:低地址0000
2011-12-12 19:34:36
725
原创 ubuntu下安装mentohost的deb包
1. 我的ubuntu直接双击mentohost_x_x.deb包时默认用归档管理器打开。于是 采用命令安装 进入 deb所在的目录 用如下命令: sudo dpkg -i packet.deb2. 安装完成之后 终端 运行 sudo mentohost 3. 第一次 需
2011-08-22 21:54:44
1706
原创 每一个比1大的整数N只能有一种方式分解成素数的乘积。
每一个比1大的整数N只能有一种方式分解成素数的乘积。用反证法:假设存在 两种不同的分解方法:这里选择m是最小的可以有不同分法的整数。m = p1*p2....*pr = q1*q2...*qs,这里的p,q 都是素数。可以认为:p1p1 !=
2011-08-04 17:41:40
1625
转载 为何 Emacs 和 Vim 被称为两大神器
转自: http://linuxtoy.org/archives/why-emacs-vim-good.htmlEmacs 是神的编辑器,而 Vim 是编辑器之神。二者为何会有如此美誉,且听本文向你一一道来。Author:Jiqing Wuemail:jiqingwu@gmail
2011-07-22 13:18:35
636
原创 c语言处理fopen(path,"wb")的路径转换问题
在linux下面, path 的指定格式为两个斜杠 例如 //home//dong//test 但是往往传递过来的参数为 /home/dong/test则 我们需要转换 字符串 如下代码可以解决这个问题:
2011-07-14 16:09:34
3252
转载 用C语言实现URL解密(urldecode)
今天编写了 一个 CGI程序 输入路径名 如 /home/michael/prison.avi发现 c 语言程序 getenv 接受的数据为 %20%2Fhome%2Fmichael%2Fprison.avi ///// (data=getenv("QUERY_STRI
2011-07-13 11:00:40
1346
ACM经典代码代码库
2010-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人