- 博客(32)
- 收藏
- 关注
转载 iOS#define和static const
定义常量最好用 static const ,不用#define编写代码时经常要定义常量。例如,要写一个UI视图类,此视图显示出来之后就播放动画,然后消失。你可能想把播放动画的时间提取为常量。掌握了Objective-C与其C语言基础的人,也许会用这种方法来做:1#define ANIMATION_DURATION 0.3
2015-06-25 10:40:51
2684
原创 史上最全的开源库整理
图像:1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。 下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Gith
2015-05-18 01:17:57
8345
转载 Chisel-LLDB命令插件,让调试更Easy
LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。(这里有一个关于调试器如何工作的总体的解释。)相信每个人或多或少都在用LLDB来调试,比如po一个对象。LLDB的是非常强大的
2015-05-12 15:30:30
804
转载 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面。iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关系。而随着iOS开发发展至今,可以说在UI制作上大家逐渐分化为了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个
2015-04-17 11:31:33
728
转载 宏定义的黑魔法 - 宏菜鸟起飞手册
宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行。而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多。但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加。如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并
2015-04-17 10:43:43
645
转载 【iOS】网络操作与AFNetworking
转载来自:http://blog.youkuaiyun.com/xn4545945 众所周知,苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐。操作起来很不方便。不仅要做区分各种请求设置各种不同的参数,而且还要经常在多线程里操作,同时还要对请求与返回的数据做各种序列化的操作,同时还要考虑请求数据的安全等一堆问题。一、早前的几个网络框架1
2014-12-13 15:53:47
516
转载 【iOS】Plist-XML-JSON数据解析
网络上传输数据通用的有XML,JSON等,iOS中也可以用Plist。要进行数据传输,就要首先进行序列化:1.序列化. 对象转换成二进制流.(这个一句话就行)2.反序列化.二进制流转换为对象等. (关键要弄清楚这个)JSON:(和XML一样都是用来传数据的)轻量级的数据交换格式,正在逐步取代XML.XML:
2014-12-13 15:51:21
876
原创 iOS 第三方类库之MBProgressHUD
github链接地址MBProgressHUD是一个开源的第三方类库实现了很多种样式的提示框,类似Activity indicator,使用上简单、方便,并且可以对显示的内容进行自定义,功能很强大,很多项目中都有使用到。 MBProgressHUD is an iOS drop-in class that displays a translucent HUD with a
2014-12-01 13:48:34
548
转载 iOS KVO & KVC
键值观察:值更改时通知观察者键值观察(Key-value observing,或简称 KVO)允许对象观察另一个对象的属性。该属性值改变时,会通知观察对象。它了解新值以及旧值;如果观察的属性为对多的关系(例如数组),它也要了解哪个包含的对象发生了改变。KVO 有助于使应用程序变得更内聚,保持模型、控制器和视图层中的对象与改变同步。与 NSNotificationCent
2014-12-01 13:46:05
523
原创 iOS UILocalNotification本地通知
介绍一下iOS下如何使用UILocalNotification进行应用程序的本地通知,基本上大部分的app都会有这个功能。 我们在设置的通知中心中可以自定义本地通知的三种形式(分别是在ios6和ios7): 下面给出简单代码看看如何使用UILocalNotification:(1)本地通知中心发
2014-12-01 13:43:07
572
转载 iOS 通知中心 NSNotificationCenter & NSNotification
通知中心是 Foundation 框架的一个子系统,它向应用程序中注册为某个事件观察者的所有对象广播消息(即通知)。(从编程角度而言,它是 NSNotificationCenter 类的实例)。该事件可以是发生在应用程序中的任何事情,例如进入后台状态,或者用户开始在文本栏中键入。通知是告诉观察者,事件已经发生或即将发生,因此让观察者有机会以合适的方式响应。通过通知中心来传播通知,是增加应用程序对象
2014-12-01 13:40:44
460
原创 @synthesize和@dynamic区别
在声明property属性后,有2种实现选择@synthesize编译器期间,让编译器自动生成getter/setter方法。当有自定义的存或取方法时,自定义会屏蔽自动生成该方法 @dynamic告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告然后由自己实现存取方法或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSMana
2014-12-01 00:47:34
443
转载 Core data 使用(二)
一、基础概念深入1.NSManagedObjectContext被管理数据上下文就像便笺簿当从数据持久层获取数据时,相当于把这些临时的数据拷贝写在便笺簿上,然后就可以随心所欲的修改这些值。通过上下文,可以对数据记录NSManagedObject进行添加删除更改,记录更改后支持撤销和重做。除非你保存这些数据变化,否则持久层的东西是不会变化。通常我们将
2014-12-01 00:47:11
516
原创 iPhone消息通知
1.NSNotification:消息或通知有三个成员变量- (NSString *)name;- (id)object;- (NSDictionary *)userInfo;通知名称:name,消息发送者:object,代理在收到NSNotification方法里,可以回调到object附加信息:userInfo 2.NSN
2014-12-01 00:43:13
539
转载 iOS之分析网易新闻存储数据(CoreData的使用,增删改查)
用过网易新闻客户端的朋友们都知道,获取新闻列表时有的时候他会请求网络有时候不会,查看某条新闻的时候再返回会标注已经查看的效果,接下来分析一下是如何实现的。首先:1、网易新闻用CoreData存储了新闻列表,因为我打开网易新闻的Documents时看到了三个文件:newsapp.sqlite,newsapp.sqlite-shm
2014-12-01 00:38:26
674
转载 iOS数据持久化
1.文件系统不管是Mac OS X 还是iOS的文件系统都是建立在UNIX文件系统基础之上的。1.1 沙盒模型在iOS中,一个App的读写权限只局限于自己的沙盒目录中。沙盒模型到底有哪些好处呢?安全:别的App无法修改你的程序或数据保护隐私:别的App无法读取你的程序和数据方便删除:因为一个App所有产生的内容都在自己的沙盒中,所以删除App只需要将
2014-12-01 00:35:45
573
转载 CoreText入门
本文所涉及的代码你可以在这里下载到 https://github.com/kejinlu/CTTest,包含两个项目,一个Mac的NSTextView的测试项目,一个iOS的Core Text的测试项目NSTextView和Attribued String第一次接触苹果系的富文本编程是在写Mac平台上的一个输入框的时候,输入框中的文字可以设置各种样式,并可以在文字中间插
2014-12-01 00:33:54
577
转载 UITableView的重用机制原理
创建UITableViewController子类的实例后,IDE生成的代码中有如下段落:[cpp] view plaincopy- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
2014-12-01 00:28:56
894
原创 GCD的简单实用
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns the
2014-12-01 00:28:02
462
原创 iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
1、UIGestureRecognizer介绍手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别。UITapGestur
2014-12-01 00:23:21
474
转载 IOS 开发,调用打电话,发短信,打开网址
1、调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];2、调用 电话phone[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@
2014-11-24 16:47:57
513
转载 CADisplayLink及定时器的使用
第一种:用CADisplayLink可以实现不停重绘。例子:CADisplayLink* gameTimer;gameTimer = [CADisplayLink displayLinkWithTarget:self selector:@selecto
2014-11-24 16:43:58
511
转载 使用Xcode和Instruments调试解决iOS内存泄露
转载自 荣芳志http://blog.youkuaiyun.com/totogo2010/article/details/8233565虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文
2014-11-22 14:48:18
496
转载 iOS6之后 NSAttributedString 的福利
@在iOS6之前需要使用NSMutableAttributedString时都需要导入:CoreText.framework框架的,但在iOS6 之后就不在需要了.[objc] view plaincopy- (void)testOfNSMutableAttributedStringAndNSAttributedString {
2014-11-22 11:32:33
958
原创 AFNetworking上传文件
@第一种:[objc] view plaincopy#pragma mark - AFNetworking上传文件 - (void)didClickUploadButtonAction{ NSString *fileName = @"hmt"; // 确定需要上传的文件(假设选择本地的文件)
2014-11-22 11:26:35
731
转载 iOS应用程序生命周期(前后台切换、应用的各种状态)详解
注: 本blog转自容芳志 (http://blog.youkuaiyun.com/totogo2010) iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。
2014-11-22 11:21:15
725
转载 iOS开发 偷懒小技巧---自定义XCode代码片段
转载来自:iOS界@迷糊小书童有句话说的好,聪明的程序员懂得"偷懒"来提升开发效率.我们在日常开发中,有一些代码片段会经常利用到,大家可能会觉得定义一些宏可以解决问题,但是遇到比如,UITableView的协议方法,或者写Demo时候想要快速的定义一个UIButton(当然,你用storyboard除外)呢? 好吧,先来介绍下什么是代码片段?
2014-11-22 11:17:14
631
转载 使用第三方类库FMDB实现数据持久化
@SQLite是一种小型的轻量级的关系型数据库,在移动设备上使用是非常好的选择,无论是Android还是IOS,都内置了SQLite数据库,现在的版本都是SQLite3。在IOS中使用SQLite如果使用SDK提供的方法,特别麻烦也不利于理解和使用,感觉使用很不方便,今天就讲讲一个针对IOS的SQlite API封装的第三方库FMDB,FMDB对SDK中的API做了一层封装,使之使用OC来访问,使
2014-11-22 11:14:40
689
转载 iOS APNS远程推送(史上最全步骤)
/*****************************************1************************************************//*****************************************2************************************************/
2014-11-22 11:12:14
679
原创 IOS开发常用函数
1、获取本地的语言[cpp] view plaincopy+ (NSString *)getLocalLanguage { NSString *language = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectA
2014-11-22 11:04:08
488
转载 【IOS】Instruments 使用教程
最近一直在解决内存泄漏的问题,天天和Instruments这个工具打交道,本来想给大家写一片相关的教程的。但是今天逛论坛的时候发现了别人翻译的文档,写的好,自认为没有办法写出。所以就不写了,在这里把那篇文章给大家转载过来。原文:Instruments User Guide链接:https://developer.apple.com/library/ios/#DOCUMENTATION/
2014-11-22 11:01:24
716
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人