摘要:SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname 3、说明:备份sql server --- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ’disk’, ’testB...
阅读全文
摘要:这里主要侧重于集合类的深浅拷贝,主要事因为工作的时候遇到这个问题。有不足的地方欢迎指正首先我们需要有这样的一个前提:[array addObject:obj];这样obj的引用计数会增加1,如果使用remove则obj的引用计数会减一。ios对集合的内存处理就是这样的。那么,假设obj只被array拥有:id temp = [array objectAtIndex:0];[array removeObjectAtIndex:0];如果你再要使用temp就会出错,因为这个时候obj已经被释放了。(提醒一下,如果用NSString做测试,要注意@“abc”是常量 :-) )由于在程序中经常会遇到集
阅读全文
摘要:在iOS 开发过程中, NSArray,NSMutableArray、NSDictionary、 NSMutableDictionary 经常被用到。这里先来介绍NSArray 与 NSMutableArray。 NSArray 和 NSMutableArray 二者有时可任意选用,有时又必区分开来。首先,NSArray只能存储Objective-C 对象,而不能存储C语言中的基本数据类型,比如:int,flot,指针等。 在使用NSArray时,需特别注意,必须以nil 结尾,以此来代表结束。举例如下:NSArray 通过类方法 arrayWithObjects 创建一个新的NSArray。
阅读全文
摘要:viewWillAppear:Called when the view is about to made visible. Default does nothing视图即将可见时调用。默认情况下不执行任何操作viewDidAppear:Called when the view has been fully transitioned onto the screen. Default does nothing视图已完全过渡到屏幕上时调用viewWillDisappear:Called when the view is dismissed, covered or otherwise hidden.
阅读全文
摘要:1.UIPickerView的初始化pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0f, 200.0f, 320.0f, 216.0f)];pickerView.delegate = self; //指定DelegatepickerView.showsSelectionIndicator = YES; //显示选中框2.实现UIPickerViewDelegate和UIPickerViewDataSource- (NSInteger)numberOfComponentsInPickerView:(UIPickerVi
阅读全文
摘要:Cocoa框架包含两个核心框架:Foundation和Application Kit(UIKit) 框架。在Cocoa开发中是必要的,至于其它框架(如:Core Data、Sync Services、Address Book、Preference Panes、Screen Saver、Web Kit)则是辅助和可选的;Foundation框架和Application Kit框架的区分标准在于用户界面。如果一个对象既不出现在用户界面上,也不是专门用于支持用户界面,那么它就属于Foundation框架,命令行工具和Internet服务器就是这样的例子。Foundation类层次的根是NSObjec
阅读全文
摘要:在Cocoa中到处都可以找到设计模式的应用,基于模式的机制或架构在Cocoa框架和Objective-C运行环境及语言中是很常见的。Cocoa经常把自己与众不同的工作机制建立在模式上,它的设计受到诸如语言能力或现有架构这样因素的影响。本部分包含设计模式:可重用的面向对象软件的元素一书中编目的大多数设计模式的介绍。每个设计模式都有一个总结性的描述,以及该模式的Cocoa实现的讨论。文中列出的都是Cocoa实现的模式,每个模式的讨论都发生在特定的Cocoa环境中。我们推荐您熟悉这些模式,您会发现这些模式在Cocoa软件开发中非常有用。Cocoa中设计模式的实现有不同的形式。下面部分中描述的一些设计
阅读全文
摘要:教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必须强调的是,全文行文是基于面试题的分析基础之上的,具体实践过程中,还是得具体情况具体分析,且场景也远比本文所述...
阅读全文
摘要:在mac os 中,如果控件使用IBOutlet连接,而无@property(retain)属性,则在dealloc不需要release; 如果有retai属性,则需要release原因如下:On Mac OS X, IBOutlets are connected like this:Look for a method called set<OutletName>:. If it exists call it.If no method exists, look for an instance variable named <OutletName>,set itwitho
阅读全文
摘要:有关于UITableView的介绍,在苹果官网上有比较具体的介绍,下面我还是简单复述一下下。表用于显示数据列表,数据列表中的每项都由行表示 ,共主要作用如下:为了让用户能通过分层的数据进行导航为了把项以索引列表的形式展示用于分类不同的项并展示其详细信息为了展示选项的可选列表UITableView的种类:一种是分组表: 另一种是无格式表 :UITableView的组成: 表中的每一行都由一个UITableViewCell表示,可以使用一个图像、一些文本、一个可选的辅助图标来配置每个UITableViewCell对象,其模型如下:UITableViewCell类为每个Cell定义了一些属性:tex
阅读全文
摘要:1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用计数+1 copy copy 一个对象变成新的对象(新内存地址) 引用计数为1 原来对象计数不变 release 对象引用计数-1 如果为0释放内存 autorelease 对象引用计数-1 如果为0不马上释放,最近一个个pool时释...
阅读全文
摘要:iOS开发UIViewController内存管理是本文要介绍的内容,在iOS3.0 后,UIViewController多了一个叫做 viewDidUnLoad 的方法。不少人都不清楚这个方法的具体意义,苹果的文档也就一句 ”Called when the controller’s view is released from memory” 简单的解释了下,并要求你把 IBOutlet 绑定的视图给清空,为什么呢? 先看下UIViewController从创建 view 到展示的流程的几个函数 -initWithNibName:bundle: 这两个方法都是初始化一个 vc,但请注意...
阅读全文
摘要:多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。一、线程创建与启动线程创建主要有二种方式:- (id)init; // designated initializer
- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;这两种方法创建后,需要手机启动,启动的方法是:- (void)start;
阅读全文
摘要:Diff命令的用法该命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。语法:diff[选项]file1file2说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“-”表示file1或file2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。通常输出由下述形式的行组成:n1an3,n4n1,n2dn3n1,n2cn3,n4字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对f
阅读全文
摘要:1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件或文件夹svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “
阅读全文
摘要:我们做完HelloWord之后在来学习一些最为简单并且很实用的一些控件1.UIAlertView的实现:效果如下图:2.UIActionSheet 的实现UIActionSheet和UIAlertView的区别 都是用于给用户提示操作 而UIActionSheet是从底部弹出 当用户有危险操作时用来提示 例如用户删除某个文件就可以用UIActionSheet提示用户是否确认删除首先.h文件要实现UIActionSheetDelegate 并且实现Delegate中的方法:actionSheet:didDismissWithButtonIndex 方法这个方法当你点击摸个按钮时会自动触发 上面代
阅读全文
摘要:最近有人问我关于什么时候用self.赋值的问题,我总结了一下,发出来给大家参考.有什么问题请大家斧正. 关于什么时间用self. ,其实是和Obj-c的存取方法有关,不过网上很多人也都这么解答的,那它为什么和存取方法有关?怎么有关的?并没有多少人回答出来.同时关于内存管理的内容,请大家看旺财勇士的Objective-C内存管理总结~CC专版,有些东西我就不多解释了. 进入正题,我们经常会在官方文档里看到这样的代码: MyClass.h @interfaceMyClass :NSObject{ MyObject *myObject; } @property(nonatom...
阅读全文
摘要:讨论Objective-C的一个奇怪的概念 meta-class在Objective-C中的每个类,都有它自己相关的meta-class,但因为你很少直接使用meta-class,所以显得很神秘。在运行时建立一个类下面的代码在运行时创建一个NSError新的子类,并添加一个方法到里面:Class newClass = objc_allocateClassPair([NSError class], “RuntimeErrorSubclass”, 0);class_addMethod(newClass, @selector(report), (IMP)ReportFunction, “v@:”);
阅读全文
摘要:当出现EXE_BAD_ACCESS, SIGABRT 及其他Crash时可以尝试用:po [NSThread callStackSymbols]一:列文件清单1. List(gdb) list line1,line2二:执行程序要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。(
阅读全文
摘要:单例设计模式。因为此模式经常引起争议,所以我想有必 要在此解释一下单例。原则上,单例是在程序生命周期里只被实例化过一次的 类。为了确保这一点,我们利用类的一个静态方法来生成和访问对象。因此, 你是通过以便利方法来访问某个类的单例对象的,而不是用 alloc/init或者静态autorelease初始化方法。在很多时候,我们使用一个某个类的唯一实例。最常见的就是一个程序的主类。以下是以名为 RootViewController 创建的一个单例函数:static RootViewController*sharedRootController = nil;+(RootViewController *
阅读全文
摘要:在iPhone上是采用sqlite进行数据存储是我一种比较习惯性的做法。一般在其他平台也比较习惯用sqlite,比如android。而iphone上有一些封装好的第三方框架提供使用,更节省了许多时间。如:Sqlitepersistentobjects ,FMDB。今天查找了这个两个框架,感觉FMDB的风格更符合我的使用,其实两者是各有优点的,只是看个人喜好而已。FMDatabase和FMResultSet;其中的FMResultSet对象让我想起了android中sqlite的cursor集合啊。FMDB的github地址是,https://github.com/ccgus/fmdb。补充:是
阅读全文
摘要:第二十七章:不改变正负数之间相对顺序重新排列数组.时间O(N),空间O(1)前言 在这篇文章:九月腾讯,创新工场,淘宝等公司最新面试十三题的第5题(一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序),自从去年九月收录了此题至今,一直未曾看到令人满意的答案,为何呢? 因为一般达不到题目所要求的:时间复杂度O(N),空间O(1),且保证原来正负数之间的相对位置不变。本编程艺术系列第27章就来阐述这个问题,若有任何漏洞,欢迎随时不吝指正。谢谢。重新排列使负数排在正数前面原题是这样的:一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求..
阅读全文