基础知识
文章平均质量分 64
zxc110110
邮箱:wangdaoqin1986@163.com
展开
-
XCode7 新特性 Bitcode
简介随着 Xcode 7 的发布,苹果为 Xcode 增加了一个新的特性 Bitcode [1]:新的特性往往意味着新的攻击面。本文首先介绍什么是 Bitcode 及 Bitcode 相关的工作流程,在熟悉了 Bitcode 的工作流程后,接下来是评估 Bitcode 相关的攻击面,最后介绍针对各个攻击面的测试方法及目前的测试结果。什么是 Bitcode转载 2015-12-22 15:12:07 · 3361 阅读 · 1 评论 -
IOS开发之路中ing-
这篇文章主要做开发过程中的汇总,利己利人吧。前言1。 iphone ios 开发者申请流程2.c++笔试题汇总3。iPhone开发教程之retain/copy/assign/setter/getter4。非常非常有名的斯坦福大学iphone视频和讲义下载,视频用itunes可以看。CS 193P iPhoneApplication原创 2012-01-05 18:30:45 · 634 阅读 · 0 评论 -
GDB 概述
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程原创 2012-01-05 21:30:12 · 538 阅读 · 0 评论 -
ipad 开发常用问题
1.设置tag方便使用 在cell中放入多个控件的时候使用tag很方便的区分。在其他的地方使用tag也方便编程。呵呵 2.今天试验一个关于删除的问题,也就是直接在cell中添加一个按钮,点击按钮实现删除操作,这个应该是Apple不允许的,没有设置到编辑模式,我使用的是直接reload数据源的方法,但是发现一个问题,也就是在选中该行的时候我想保存该行的行数,但是我保存不了,也不知道是为什原创 2012-01-08 02:38:13 · 504 阅读 · 0 评论 -
协议(Protocol)的用法和代码例子
协议,是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。两个类进行通讯,用协议就比较方便。下面是 CocoaChina 版主“angellixf”为新手写的协议入门介绍以及代码例子,希望对刚入门开发者有所帮助一、说明1.协议声明了可以被任何类实现的方法2.协议不是类,它是定义了一个其他对象可以实现的接口3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那原创 2012-01-08 02:27:00 · 676 阅读 · 0 评论 -
字符串匹配高效算法 KMP-c++代码
应用场景在淘宝这个处理数据的平台上经常进行字符串的匹配,查找,替换等操作,尤其对搞搜索的同学来说非常的重要。KMP算法由Knuth、Morris、Pratt同时提出来的,取了这三个人的名字的头一个字母,所以叫做KMP算法。原理分析KMP算法主要利用模式串(要匹配的子字符串)自身的对称特点来节省比较的次数。先看看一般的字符串匹配算法。主串A=abcdabcdefg,子串(模式串)B=ab转载 2012-01-07 23:44:19 · 694 阅读 · 0 评论 -
数组排序-NSArray
//组装数据 array=[[NSMutableArray alloc]initWithCapacity:11]; NSMutableDictionary *dir6=[[NSMutableDictionary alloc]initWithCapacity:1]; [dir6 setObject:@"曹磊" forKey:@"FriendName"];原创 2012-01-07 23:40:31 · 786 阅读 · 0 评论 -
字符串匹配最高效的算法
例如,在拼写检查、语言翻译、数据压缩、搜索引擎、网络入侵检测、计算机病毒特征码匹配以及DNA序列匹配等应用中,都需要进行字符串匹配:先预处理查找模式串首字符在主串中的所有出现位置,并将其保存在一个数组中。字符串匹配算法就可以从查找到的模式串在主串中的位置开始,匹配模式串首字母之后的其余部分。此时,采用BF算法即可,并可设置一个计数器,记录匹配次数。对于频繁使用的要匹配的主串和模式串来说,由原创 2012-01-07 23:39:23 · 2512 阅读 · 0 评论 -
处理操作字符串(二)
字符串大小写变更:NSString的定义变更情,基本上提供了三种方法的NSString类型的更改大小写1。)lowercaseString:将改变成小写的字符串2)uppercaseString:。字符串将改为大写3。)capitalizedString:使用它,改变字符串的第一个字符的情况下帽NSString *string1 =@"ROSE INDIA";原创 2012-01-07 23:38:43 · 379 阅读 · 0 评论 -
拷贝字符串中指定数据-源代码
//拷贝字符串中的指定数据//SourceData 元数据//FirstPlaceIndex 拷贝起始位置编号//LastPlaceIndex 拷贝结束位置编号-(NSString *)CopyPartTextToString : (NSString *)SourceData FirstPlaceIndex : (NSInteger)FirstPlaceIndex L原创 2012-01-07 23:28:13 · 478 阅读 · 0 评论 -
字符串操作总结(一)
发过程中难免遇到字符串操作,下面是为您总结的NSString+NSMutableString+NSValue+NSAraay用法汇总,帮您应对各种字符串操作。//一、NSString //1、创建常量字符串。 NSString *astring = @"This is a String!"; //2、创建空字符串,给予赋值。原创 2012-01-07 23:26:08 · 406 阅读 · 0 评论 -
字体
使用时 aLabel.font=[UIFont fontWithName:@"XXX" size:30]; 注意XXX不一定是simkai,这里是KaiTi_GB2312(中文楷体),你可以通过下面的方法遍历所有字体。 iPhone系统的字体数量有限,并且多数对中文没有效果,下面介绍两种解决办法 方法1: 添加对应的字体(.ttf或.odf)到工程的resurce,使原创 2012-01-05 21:44:47 · 383 阅读 · 0 评论 -
内存 retain count 的问题 如果你搞通 内存很easy
代码请在main函数下写 不然出来的东西千奇百怪。int main(int argc, char *argv[]){ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];写在这: NSData *str=[[NSData alloc]init]; NSLog(@" strre原创 2012-01-05 18:17:54 · 469 阅读 · 0 评论 -
离线iOS应用的HTML 5制作指南
你或许已沮丧许久。众多Objective-C开发高手凭借制作iOS应用取得显著成就。你或许尝试阅读iOS应用开发指南,但Objective-C或类似语言确实没那么简单。我不是说应该放弃目标,你最终定能够实现。但你同时还有其他选择。凭借已有技术,你完全能够胜任如下内容:HTML 5、CSS、和JavaScript。作者会详细说明如何制作离线HTML 5 iOS应用。更具体地说转载 2012-01-05 18:24:29 · 591 阅读 · 0 评论 -
Xcode 7新的特性:Nullability,__kindof修饰符 _Nonlable, _Nonnull(温故知新,防止遗忘)
1 关于 使用_Nonlable, _Nonnull 在于调试和编程的时候的快速提示错误。Xcode 7 包含了一个名为 “Apple LLVM 7.0 - Warnings - All languages > Incorrect Uses of Nullable Values” 的项目设置选项,其键为 CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION转载 2015-12-22 14:55:04 · 5370 阅读 · 0 评论 -
设置整行代码上下移动 删除
设置整行代码上下移动:找到Xcode中的自带的配置文件:/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist用文本编辑IDETextKeyBindingSet.plist,并添加以下代码:转载 2015-11-23 10:54:41 · 4104 阅读 · 0 评论 -
升级mac自带的svn版本 升级xcode的svn版本
系统版本: MAC OS X 10.8.4出现问题:Xcode以及Mac系统自带的SVN版本基本都是1.6,由于日常开发中使用的SVN版本都是1.7以上的,因此需要升级svn版本。【说明:使用1.6版本的SVN客户端checkout的代码,使用1.7版本的客户端的时候,可能会出一些版本不兼容的问题,解决办法是切入到代码工程所在根目录,执行$ svn upgrade 命令进行转换或者,把之前转载 2015-06-24 11:37:44 · 5297 阅读 · 1 评论 -
兼容长按和点击高性能实现方案
如何使一个view兼容点击和长按手势 如何高效的响应各自手势的行为?我自己做了一些尝试,且发现了一些高性能的代码实现,希望能和你分享原创 2015-02-11 11:08:12 · 2937 阅读 · 0 评论 -
IOS 删除工程里的指定类型文件
有时候需要在iOS系统里面,删除指定文件夹的内容,文件夹里面可能是文件,也可能包含有文件夹。删除指定类型的文件。方法如下:NSString *extension = @"m4r";NSFileManager *fileManager = [NSFileManager defaultManager];NSArray *paths原创 2014-12-27 14:22:18 · 2589 阅读 · 0 评论 -
libc++abi.dylib: terminate_handler unexpectedly threw an exception错误
前言我们在运行xcode工程时,有时候会遇到”libc++abi.dylib: terminate_handler unexpectedly threw an exception”错误,app莫名其妙就crash掉了,在控制台输入bt命令,查看调用堆栈,结果也是一头雾水:分析现在唯一的信息点是libc++abi.dylib,这个库到底是做什么的?从后缀看,是一个原创 2015-01-28 15:10:16 · 3359 阅读 · 0 评论 -
App Store idfa被拒检查办法
原文 http://blog.csdn.net/idaodao/article/details/20378607最近应用因为这个问题被拒两次,理由如下:PLA 3.3.12We found your app uses the iOS Advertising Identifier but does not include ad functionality. This does no转载 2014-03-11 11:35:54 · 725 阅读 · 0 评论 -
IOS设备唯一标示符
现有IOS设备唯一标示符的方案比较UDID[[UIDevice currentDevice] uniqueIdentfier]iOS官方最早提供的UDID方案,根据某一公式,使用设备序列号、网卡地址等信息作为参数计算而来,iOS6之后该计算公式发生了改变。该方法返回的结果在所有应用中都相同,并且卸载应用、刷机、还原设备均不会发生改变,是最为准确的设备唯一标示符。iOS5转载 2013-09-09 11:45:44 · 881 阅读 · 0 评论 -
应用崩溃,断点出现随即,多为UI对象被释放
1.多个对象快速的创建和销毁,UI对象出错2.当循环看到你的UI对象被释放,查看下你相关方法的调用对象是不是再主线程执行的这个方法。3.当接受到消息执行方法的时候,只要是改变UI对象 注意将其在主线程运行。一些其他编程注意的事项:多线程中子线程将不接受任何和UI相关的工作,如果要做 则需要移动到主线程来解决原创 2012-11-12 19:11:41 · 680 阅读 · 0 评论 -
后台长时间运行
文一我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间。还有三种类型的可以运行在后以,1.音乐2.location3.voip文二在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。应用程序提供特定的服务原创 2012-03-07 14:58:40 · 1434 阅读 · 0 评论 -
O-C和C的差别以及其自身的特点
Objective-C中有几种数据类型和C不太一样:- id 是一个指针类型,可以指向任何类型的对象- BOOL和char是一样的,但是做为布尔值使用。YES 表示1NO 表示0- IBOutlet 是个没有任何意义的宏,可以忽略。当InterfaceBuilder从.h文件中读取类定义时,这个宏会对其做出一个提示。- IBAction和void是一样的,同样仅用作对Inter原创 2012-01-07 23:46:37 · 1271 阅读 · 0 评论 -
字体 --- Font&&Size
NSString *timestamp; [timestamp drawInRect:CGRectMake(0, status.textBounds.size.height +3, 250, 16) withFont:[UIFont systemFontOfSize:12]];NSString *text=[textArrayobje原创 2012-01-07 23:42:41 · 336 阅读 · 0 评论 -
ios高阶教程 块对象(block)的利用
在iOS 4.0引入了块对象。快对象是C级别的构造,您可以在C或Objective-C代码中使用快对象。从本质上说,块对象本质上是一个匿名函数加上该函数的伴随数据。有些时候,其他语言也称块对象为 closure或者lambda。块对象非常适用于回调函数。如果您需要有很便捷的方法将执行代码和相关数据组合在一起,块对象也是很好的选择。在 iOS系统中,块对象通常用于下述场合:作为委翻译 2012-01-06 13:19:00 · 1023 阅读 · 0 评论 -
ios 开发中 制作和使用静态库
ios 开发中 制作和使用静态库静态库导出的一般都是全局的变量和函数,我们这里制作的静态库是C语言的1,先开启XCode(我使用的是3.2.6,SDK4.3) 创建一个静态库工程:File--->NewProject---->iOS--->library---->CocoaTouchStaticLibrary 取名:myLib2添加一个.h/.c转载 2012-01-06 13:16:14 · 553 阅读 · 0 评论 -
使用正则表达式
本文源地址:以及其他相关参考资料在处理字符串的时候,常常会用到正则表达式,在iphone os上也不例外。使用 RegexKitFramework 就可以了。在这里下载RegexKitLite。解压 RegexKitLite-4.0.tar.bz2 :RegexKitLite.hRegexKitLite.mRegexKitLite.h原创 2012-01-06 14:50:17 · 442 阅读 · 0 评论 -
正则表达式语句大全
正则表达式中的特殊字符:字符含意\做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。^匹配一个输入或一行的原创 2012-01-06 14:39:22 · 1022 阅读 · 0 评论 -
方法替换:-实现拦截功能
顾名思义,就用一个方法替换一个方法的意思:直接上代码,我自己看英文,也不翻译了,想了解的可以去看文档点击这里直接看英文文档 另外还有好多其他的扩展在方法替换的过程中,我们可以用分类扩展方法来替换,也可以在本类方法之间的替换首先声明交换方法#import Void MethodSwizzle(Class aClass, SEL orig_sel, SEL原创 2012-01-06 14:38:33 · 1322 阅读 · 0 评论 -
Object_C 宏的定义格式
UIAlertView 宏定义:#defineALERT_MSG(title,msg)\{\UIAlertView*_alert=[[UIAlertView alloc] initWithTitle:title message:msgdelegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];\_alert.transfo原创 2012-01-06 14:31:26 · 675 阅读 · 0 评论 -
Object-c 集成 C&C++ 评测
正在进行中的产品开发是基于苹果的iOS操作系统,自然而然,需要去熟悉和了解如何评估、选择和使用开源项目的代码。整理内部知识管理平台上留下来的一些开发/集成记录,简单的需要考虑或者侧重以下几个方面:C代码开发的项目集成最为方便,源代码加入xcode的项目中,整理出正确的编译指令相关的宏定义,一般被集成项目的编译即可通过。这也是目前我唯一实际成功过的集成方式。也可以使用链接库的方式,但是目原创 2012-01-06 14:29:40 · 436 阅读 · 0 评论 -
CFRunLoop
CFRunLoop对象监控任务(task)的输入源,并在它们为处理做好准备的时候调度控制。输入源样例可能包括用户输入设备、网络链接、定期或时间延迟事件,还有异步回调。 有3类对象可以被run loop监控:sources、timers、observers。当这些对象需要处理的时候,为了接收回调,首先必须通过 CFRunLoopAddSource,CFRunLoopAddTimer ,or原创 2012-01-06 13:31:40 · 884 阅读 · 0 评论 -
深入理解iPhone静态库(手把手教)
Xcode4中使用静态库1. 创建一个工作区:".xcworkspace"2. 将项目添加到工作区(新建/添加现有项目)3. 向应用程序target添加静态库,从Workspace4. 打开 “Build Settings” 标签,设置 “User Header Search Paths” 项的值为“$(BUILT_PRODUCTS_DIR)”,并选中“Recursive”框5原创 2012-01-06 13:26:19 · 1012 阅读 · 0 评论 -
跨平台开发:初探PhoneGap移动开发框架(1)
随着Google的Android手机和苹果的iPhone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中。目前移动终端中的冠亚军Android,应用是基于Java语言基础上进行开发的;而苹果公司的iPhone则是基于C语言开发的。如果开发者编写的应用需要同时在不同的移动设备上运行的话,则必须要掌握多种开发语言,这已经成为开发团队的一大难题,在51CTO专访国内著名移动软件尚邮的首席架构师转载 2012-01-06 13:20:15 · 619 阅读 · 0 评论 -
XCode的构造iOS应用程序是如何启动的
任何代码自动生成工具都是初学者的大敌!这是我当年完全没学过Windows程序,抱着本莫名其妙的教程,第一次用MS VisualStudio的Wizzard生成的代码时的感悟。现在想想真的很好笑,一个对Eventloop一知半解,对MVC模式晕头转向,完全对Windows程序基本工具库一无所知的人,却去看那个Wizzard生成的,被MFC过度封装过的代码,那真的是纯纯的浪费时间。多年以后,我才明白,转载 2012-01-06 13:21:05 · 452 阅读 · 0 评论 -
IOS 安卓 架构解析
包括安卓 和ios的常识介绍http://book.51cto.com/art/200912/173424.htm 构建MacOSX及iOS应用程序开发工具集http://www.verycd.com/topics/2889682/Xcode 4的新特性● 单窗口如果是有经验的 Xcode 用户,则首先会注意到 Xcode 4 把以前执行日常开发任务的多个窗口转载 2012-01-06 13:23:40 · 506 阅读 · 0 评论 -
字符串操作(三)
开发过程中,我们会遇到很多关于字符串的操作,它是一个常用的数据类型,下面对它的用法进行了汇总: //1、创建常量字符串。 NSString*astring = @"This is a String!"; //2、创建空字符串,给予赋值。 NSString*astring = [[NSString alloc] init];原创 2012-01-07 23:41:39 · 352 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析
前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对objective-C内存管理机制的研究成果和经验,写了这么一个由浅入深的教程。希望对大家有所帮助,也欢迎大家一起探讨。 此文涉及的内存管理是针对于继承于NSObject的Class。一 基本原理Objective-C的内原创 2012-01-07 23:24:34 · 345 阅读 · 0 评论