IOS开发
文章平均质量分 59
孙启超
算法改变人生
展开
-
coreData 使用分析
Core Data是个好东西,在数据储存操作上速度快,容易操作,是一种类似关系数据库的东西。但是有些不那么好学,那到底Core Data是怎么操作的呢?怎么用呢?怎么来编程呢?我们一起来学习吧,接下来使用苹果提供的实例程序Locations来作分析:>程序介绍:右侧是改程序的截图,基本上来说就是通过使用Core Location来得到当时的位置,然后在点击“+”的时候记录下当时的经纬度。通转载 2012-04-30 10:31:33 · 2473 阅读 · 0 评论 -
object-c 变量使用 关键字
关于变量的作用域 @protected —Methods defined in the class and any subclasses can directly access the instance variables that follow.This is the default case.该类和所有的子类中的方法可以直接访问这样的变量,这是默认的。@private —Met转载 2012-04-30 09:11:56 · 1272 阅读 · 0 评论 -
刚刚发现了一个coredata的讲解,分了三部,但是还是看不太懂
在iPhone所有数据存储的方法里面,Core Data是重要数据存储的最佳选择。它能降低你应用的内存开销,提升响应速度,并把你从繁琐的代码中解脱出来。然而,学习Core Data之路异常久远。不过这也是这一系列教程的由来 – 让你快速掌握Core Data基础知识。作为该系列教程的第一部分,我们将为我们的对象建立一个可视化数据模型。为保证其有效性,我们会做一个快速肮脏测试(dir转载 2012-05-01 10:14:35 · 3112 阅读 · 0 评论 -
听到大师兄的事情
首先是在界面初始化的时候,把那些城市的初始化,写在界面初始化的时候,这就是我们的选择城市的时候为什么那么卡的原因了,真是的,还有就是以后要尽量用xib了,并不是因为它好,而是比较简单,容易维护,确实是这样的,最后就是单例模式的使用了,非常好用啊,和我以前用的不一样,以后我要多用单例模式了,创建一次就好了啊。其实今天学到的更多是前进的动力,我才知道,原来那几个我们黄埔军校的顶梁原创 2012-05-03 00:01:31 · 858 阅读 · 0 评论 -
NSLocalizedString 实现国际化
一、获取系统所支持的国际化信息在国际化之前,你可以在iphone中的”设置->通用->多语言环境->语言”中来查看你的iphone支持哪些语言,当然也可以写一段代码测试一下你的iphone都支持哪些语言.测试代码如下:NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *language转载 2012-05-28 11:21:07 · 975 阅读 · 0 评论 -
NSAutoReleasePool 用法
好记性不如烂博客.今天需要记录的是关于NSAutoReleasePool的理解.(大部分内容来自于iOS4.3 Library) Cocoa的内存管理主要依赖于Reference Counting, 而NSAutoReleasePool就是用来支持它的. autorelease pool中存放的对象会在其自身干枯(drain)时被release. 我们都知道转载 2012-05-28 14:37:07 · 959 阅读 · 0 评论 -
error: expected a property attribute before 'strong'
备注:今天用最新的 myLauncher (https://github.com/Jarada/myLauncher)代码时发现 里面用了stong 在xcode4.1时编译不通过用xcode4.2 打开项目是直接提示 error: expected a property attribute before 'strong' 把strong 换成retain 就可以,折腾了好一会,最转载 2012-05-14 18:44:22 · 1542 阅读 · 0 评论 -
推送 证书 联机调试
联机调试出现问题,证书什么都有,但是就是最后下载provision文件拖到手机中的时候,状态显示黄色的小点,不可用,最后还是亚楠帮我弄好了,非常感谢亚楠,原因是因为我的手机的序列号在证书里面没有找到,也就是adddevice的时候,我的设备没有添加进去,但是重新下载,重新添加设备都不行。最后没办法了就是把证书删掉了,然后重头做了一遍,重新下了个证书,和provision文件就变成绿点了,成功了。原创 2012-05-15 15:12:42 · 1039 阅读 · 0 评论 -
symbol(s) not found for architexture i386 报错
我靠啊,今天下午出现了个这个错误,找了好多资料,发现让添加lib和framework,有的说要该compiler,可以是我全都试过了,就是不成功,还是报错,我日啊,最后我把原来的那个框架删除掉,又重新添加了一遍,然后就好了,我真是无语了,什么都没改,只是删除后重新添加一遍就好了。原创 2012-05-15 18:36:45 · 3432 阅读 · 1 评论 -
symbol(s) not found for architexture i386 路径错误
昨天这个错误又出现了,并不是因为重新删除后再打开的问题,我错了。真正的原因是因为路径的错误,首先我导入的第三方框架的时候,只是从一个工程把类拖到另一个工程里面,这样的话只是显示在工程的表面而已,不是真正的在目录里面。然后在编译的时候,xcode回去找我所用到的第三方的框架的类,但是xcode是从文件夹目录里面找,而我没有把类copy到文件夹下面,所以报错。最后正确的原创 2012-05-16 09:51:47 · 40882 阅读 · 5 评论 -
使用iOS手势UIGestureRecognizer
UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势: 1、拍击UITapGestureRecognizer (任意次数的拍击) 2、向里或向外捏UIPinchGestureRecognizer (用于缩放) 3、转载 2012-06-05 10:07:05 · 559 阅读 · 0 评论 -
AVAudioPlayer 音频播放器 使用 教程
IOS中有三种播放音频的方式:AVAudioPlayer、音频服务、音频队列。 此文主要讲AVAudioPlayer,其他两个请见相关文章。AVAudioPlayer在AVFoundation框架下,所以我们要导入AVFoundation.framework。AVAudioPlayer类封装了播放单个声音的能力。播放器可以用NSURL或者NSData来初始化,要转载 2012-06-05 14:29:35 · 1218 阅读 · 0 评论 -
objectForKey与valueForKey在NSDictionary中的差异
从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢?先从 NSDictionary 文档中来看这两个方法的定义:objectForKey: returns the value associated with aKey, or nil if no value is associated with a转载 2012-05-18 15:35:39 · 2004 阅读 · 0 评论 -
Android图片处理(Matrix,ColorMatrix)
在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的效果,有时候还要对图片进行变换,以拉伸,扭曲等等。这些效果在android中有很好的支持,通过颜色矩阵(ColorMatrix)和坐标变换矩阵(Matrix)可以完美的做出上面的所说的效果。下面将分别介绍这两个矩阵的用法和相关的函数。颜色矩阵android中可以通过颜色矩阵(ColorMatrix类转载 2012-05-22 09:21:21 · 659 阅读 · 0 评论 -
#ifndef、#def、#endif说明
你所遇到的这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else转载 2012-06-13 13:40:01 · 795 阅读 · 0 评论 -
ios 数据存储的四种常用方式NSKeyedArchiver/NSUserDefaults/Writ
OK,今天Himi介绍游戏存储这一块,在Android游戏开发中Himi介绍了好几种保存的方式和形式,那么在iOS中也有几种方式,一般常用的有以下四种形式: 1. NSKeyedArchiver(加密形式) 2. NSUserDefaults 3. Write写入方式 4. SQLite3这里Himi就不再介绍S转载 2012-06-13 10:45:56 · 3388 阅读 · 0 评论 -
自定义 UIColor baseView 父类子类方法名 不能重复
原来是因为方法名字重复了,因为baseview的方法名和子view的方法名字相同,都是initparam,所以就执行了子view的initparam方法,而没有执行baseview的还有在刚才用颜色的时候,想用255的那种,结果一直没效果,最后发现是因为没有/255.0正确的形势应该是:[UIColor colorWithRed:230.0/255.0 gr原创 2012-05-24 11:01:31 · 1699 阅读 · 0 评论 -
coredata理解
昨天开始认真的看coredata的用法,今天终于明白的其中的道理了,还有具体的流程。决定要重新写一遍,这样自己才能真正的掌握 1. 其实coredata就是个数据库,只是苹果把它封装起来了,开始我再看范例的时候觉得很难,看不懂,但是昨天看过具体流程和每个步骤的含义的时候,我就觉得茅厕顿开,豁然开朗了。2. 就是用它的增删改查四个功能,对吧,不就是这个吗,没什么难原创 2012-06-15 13:04:38 · 1662 阅读 · 0 评论 -
SDWebImage使用,图片加载和缓存
SDWebImage托管在github上。https://github.com/rs/SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category转载 2012-07-04 11:40:56 · 29649 阅读 · 0 评论 -
如何查找技术资料----我的一点心得体会
作为一个IT人员,如果不能利用搜索引擎很快地查找到自己想要的技术资料的话,那么会很悲剧!特别是面对新技术的时候,由于资料特别少,就算有,大部分也是英文资料。如果这时候,你查找资料的能力比不上别人的话,很有可能就会在新一轮的技术竞赛中被甩在后面,比如现在很火的ios游戏开发。android由于搞的人多,资料也相对来说多一些,门槛也低一些,不需要mac,只要有一台pc就可以弄。但是,接下来的wphon转载 2012-08-20 15:38:44 · 2296 阅读 · 0 评论 -
今天看了ps的简介,决定一定要把它给学会,首先了解一下基础知识
1.位图图像的概念位图图像使用像素来表示图像,因此也叫栅格图像位图图像的优点是很适合变现细节丰富,细腻的效果2.位图文件格式psd文件格式:它不仅是photoshop的默认文件格式,而且是一种支持所有图像模式的文件格式。3.矢量图形的概念矢量图形以数学公式的方式记录,可以对其任意放大或缩小而不会出现模糊或锯齿现象,并且对应的文件尺寸较小。4矢原创 2012-08-21 23:56:30 · 706 阅读 · 0 评论 -
对m3u8解释,是一种列表文件格式
1.M3U8是一种可扩展的播放列表文件格式。它是一个包含UTF-8编码文字的m3u播放列表。m3u是包含媒体文件URL的一个事实上的播放列表标准。这种格式被用来作为HTTP Live 媒体流索引文件的格式。2.m3u8是一种视频列表格式,里面有真正的视频的链接,另外在m3u8里面还可以再嵌套一层m3u83.m3u8是视频列表,编码还是h264等。4.m3u8并非原创 2012-08-23 13:48:23 · 30443 阅读 · 1 评论 -
代码注释的格式
一直感觉注释很重要,所以把注释的一些规范总结一下,对后期维护真是非常的重要。1.先写一下个个字段对应的意思/*! @header 文件名 @abstract 简介,概念 @discussion 用途,方法 @copyright 版权 */给出一个模版/*! @header MFMailComposeViewController原创 2012-08-23 10:29:27 · 9515 阅读 · 1 评论 -
ASIHTTPRequest详解 非常强大
ASIHTTPRequest对CFNetwork API进行了封装,并且使用起来非常简单,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。ASIHTTPRequest功能很强大,主要特色如下:l 通过简单的接口,即可完成向服务端提交数据和从服务端获取转载 2012-08-27 13:15:37 · 3365 阅读 · 0 评论 -
socket编程 详解
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Trans转载 2012-08-28 08:53:20 · 1786 阅读 · 0 评论 -
Parse 教程 框架倒入
Cloud Code now allows sending of general HTTP requests and other updates. Learn MoreCloseOpensunqichaojob@gmail.comDashboardQuickstartDocumentationDownloadsHelpPa原创 2012-10-30 10:58:03 · 4703 阅读 · 0 评论 -
Blocks与Dispatch Queue的使用
block是什么block是一个C level的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似。用于回调函数的地方。两个对象间的通讯。实现轻量级的“代理”。blocks和C语言函数指针的区别 如何调用blocks调用block和C语言函数指针的调用一模一样 如何在 block 中修改外部变量?????考虑到 bl转载 2012-10-31 09:36:04 · 1176 阅读 · 0 评论 -
刚刚弄明白,原来block是回调的
最近一直在看block的使用,一直不明白这种格式[stillCameracapturePhotoAsImageProcessedUpToFilter:cropFilter withCompletionHandler:^(UIImage *processed,NSError *error) {原创 2012-11-05 10:22:41 · 5274 阅读 · 1 评论 -
IOS block dispatch_queue
研究了3天的block使用,今天终于写出了自己的第一个block接口请求,完整的接口调用和定义,首先在interface中用dispatch——queue来处理请求,然后通过block进行回调,再在调用的时候处理block回调回来的数据就行了,非常的简洁,代码量减少很多,且效率极高,嘿嘿。第一步定义要回调的blocktypedef void (^getCommentList)(原创 2012-11-05 14:54:15 · 2487 阅读 · 4 评论 -
Aviary 滤镜 教程 照片编辑器
Aviary是一个国外的非常强大的照片编辑器,各种功能,但是是以静态库的形式存在的,不开源,但是很好用。1.到官网上面下载sdk https://github.com/AviaryInc/Mobile-Feather-SDK-for-iOS2.把sdk整个文件添加到项目中,然后导入以下的frameworkAccelerate.frameworkCoreData.framework原创 2012-11-08 15:32:43 · 4510 阅读 · 0 评论 -
base 64 在ios 中的运用
首先要弄清楚base64的含义,下面是我在百科中找到的:Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)原创 2012-11-20 11:12:13 · 3879 阅读 · 0 评论 -
ios URLConnection Cache
网络通信层一直是我最重视的技术,因为数据的稳定才能使整个应用流畅运行。缓存是个双刃剑,用好的就可以增强用户体验,用得不好就会造成一种假象。首先cache需要用数据库纪录缓存得数据,创建得时间,过期得时间(就是相隔多长时间更新一次缓存),相对应得key。例如:FMResultSet *set = [db executeQuery:@"SELECT * FROM json_cach原创 2012-12-05 10:16:33 · 2548 阅读 · 0 评论 -
dispatch_once创建单例
无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication.什么是单例呢?Wikipedia是如此定义的:在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式。或者我的理解是:单例是一种类,该类只能实例化一个对象。 尽管这是单例的实际定义,转载 2012-12-06 14:03:00 · 958 阅读 · 0 评论 -
内联函数 inline
(1)什么是内联函数?内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。 (2)为什么要引入内联函数?当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:#define ABS(x) ((x)>0? (x):-(x))当++i出现时,宏就会歪曲我们的意思,换句话说就是:宏的定义很原创 2012-12-06 14:11:55 · 2366 阅读 · 0 评论 -
EGOImageView 解析 使用
在看EGOImageLoader源码的时候首先个人感觉要先理解里面的几个概念1.inline 开头的函数表示内联函数。作用是用函数名直接代替表达式,也就是说执行到这一行代码的时候不会去调用函数,而是直接执行函数体。同样也有一定限制,那就是函数体不能太复杂,不能有循环和开关语句。最适合就是取值,而在EGOImageLoader这个框架中就是根据URL生成一个key返回。inline stat原创 2012-12-07 14:07:46 · 3553 阅读 · 0 评论 -
EGOImageLoader 解析
[[EGOImageLoader sharedImageLoader] imageForURL:aURL shouldLoadWithObserver:self]1.在这个方法中首先会从缓存中查找,如果已经存在则直接返回 UIImage* anImage = [[EGOCachecurrentCache] imageForKey:keyForURL(aURL,nil)];原创 2012-12-07 16:16:48 · 2322 阅读 · 0 评论 -
HTML5的明天,局部有小雨
HTML的明天是晴还是雨 王淮(Facebook支付后台及反欺诈部门前技术经理、现天使投资人) HTML5是什么? 为什么很多人如此关注它并押上公司的未来? 但为什么Facebook弃HTML5转Objective C。HTML的明天,是晴还是雨,你该不该给它投怀送抱,该如何去判断? 我最近对HTML5产生兴趣,就做了一些粗浅的研究,并和硅谷的两位玩弄HTML5多年的转载 2012-12-12 14:12:56 · 1453 阅读 · 0 评论 -
在iOS开发中使用FMDB
前言SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。但是,原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,开源社区中就出现了一系列将SQLite API进行封装的库,原创 2012-12-15 14:55:54 · 1545 阅读 · 1 评论 -
使用数据库做缓存
1.首先建表:在SQCWorld这个项目中,需要的数据有首页展示和详细页数据,目前就这两个了。2.首页展示的字段主要有:标题,图片,ID_main,创建时间;(ID_main的作用是筛选详细页的信息,作为外键)3.详细页的字段主要有:文字,图片,ID_main,创建时间;4.根据需要可以得出结论:建两个表,其实就是和parse的表一样了,呵呵。5.第一步指定一个数据库路径:原创 2012-12-16 19:34:13 · 4396 阅读 · 0 评论 -
UITabBarController使用
[cpp] view plaincopy-(id)init { if ([super init] != nil) { UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"asdfsadf" image:[UIImage imageNamed:@"WWAN5.png"转载 2012-12-30 13:50:20 · 893 阅读 · 0 评论