一.Java Script 1.由于Solr本身可以返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solr客户端是一个很好的选择. 2.在之前,主要使用SolJS作为solr的客户端,目前主要使用ajax-solr,信息请见:https://github.com/evolvingweb/ajax-solr/wiki/Reuters-tutorial%3A-step-1. 3.以下示例未使用上述所述的客户端,而是使用了ajax的基…
//再设计一个类的时候,有些方法需要对外公开(接口),有些仅供内部使用. 类的扩展:为类添加新的特征(属性)或者方法 对已知类: 1.直接添加 2.继承(在其子类中添加实例变量和方法) 3.使用extension(对私有方法和私有属性的扩展(未在.h中申明的方法就是私有方法)) //   extension //  一般我们把类的延展直接写在类的.m文件中 //  extension 对私有方法和私有属性的扩展(未在.h中申声的方法) //  对已知类扩充私有方法,选择 Objective -…
属性:快速生成setter和getter 属性也包括:声明和实现 1.属性的声明写在.h中 格式:@property 数据类型 变量名; 如果实例变量一致的时候,属性的声明可以合并,每一个属性之间使用,分隔 2属性的实现写在.m中 格式:@synthesize 数据类型 变量名; Xcode5.0之后,属性的实现部分也不需要写了 当你同时重写setter和getter时,系统就不会再自动生成@synthesize name=_name; 属性的优化 1.声明的时候同一种数据类型可以合并 2.实例…
http://www.w3school.com.cn/xhtml/xhtml_structural_01.asp 我们曾经为本节撰写的标题是:"XHTML : 简单的规则,容易的方针."原因之一是,本节讨论的规则和方针是简单和容易的.原因之二是,一本简单和容易的 WEB 设计图书,就像超级市场的新式的免费商品一样,虽然常见却可以有效地吸引人的眼球,这样的东西可以刺激人的兴趣,并且鼓励人们尝试. 我确实希望本节的内容可以激发你的兴趣,并鼓励你去尝试.为什么这么说呢?因为一旦你掌握了本章包…
DZY Loves Chemistry time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output DZY loves chemistry, and he enjoys mixing chemicals. DZY has n chemicals, and m pairs of them will react. He wants to pou…
Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9971   Accepted: 3347 Description The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of the galaxy. The Borg collective is the term used to describe the gr…
Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 41559   Accepted: 13237 Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit ev…
Javascript程序使用的是事件驱动的设计模式,为一个元素添加事件监听函数,当这个元素的相应事件被触发那么其添加的事件监听函数就被调用: <input type="button" onclick="alert('Button Click')" /> 当上面的button被点击后,会弹出一个框显示"Button Click". 在javascript中添加事件监听函数有多种方法,比如: 在html元素上  [xhtml] view…
一.Berkeley DB的介绍 (1)Berkeley DB是一个嵌入式数据库,它适合于管理海量的.简单的数据.如Google使用其来保存账户信息,Heritrix用其来保存froniter. (2)key/value是Berkeley DB用来管理数据的基础,每个key/value对代表一条记录. (3)Berkeley DB在底层实现采用B树,可以看成能够存储大量数据的HashMap. (4)它是Oracle公司的一个产品,C++版本最新出现,之后JAVA等版本也陆续出现.它不支持SQL语…
UILabel:标签 继承自UIView ,在UIView基础上扩充了显示文本的功能.(文本框) UILabel的使用步骤 1.创建控件 UILabel *aLabel=[[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, 100)]; 2.设置属性 (1).设置背景颜色 aLabel.backgroundColor=[UIColor cyanColor]; (2)设置文本 aLabel.text=@"fuck you艹你❤️❤️❤️❤️❤…
//OC: Objective-C, 面向对象的C语言 //OC与C的区别 //1.OC是C的超集, C语言的所有语法都可以在OC中使用 //2.OC是面向对象 //3.OC是一门运行时语言 //4.OC的类库丰富 NSString *string = [[NSObject alloc] init]; //string在编译时是NSString类型, 在运行时是NSObject类型 //面向对象的编程: OOP //面向对象编程的核心: 类与对象 //面向对象的三大特性: 封装, 继承, 多态…
OC:Objective-c     面向对象的c语言,简称obj-c或者OC OC和C的区别 1.OC是C语言的超集,OC是在C语言的基础上结合smalltalk的优点,开发出来的语言.oc兼容所有的C语言的语法. 2.OC扩展了面向对象的思想. 3.运行时特性 4.有丰富的类库 OOP(Object Oriented Programming)面向对象编程. 关键点;对象.类.多态.封装.继承等. OC的核心:类和对象. OC的三大特性:封装.继承.多态. 类:具有相同特征和行为的事物的抽象.…
UIEvent:事件,是由硬件捕捉的一个代表用户操作操作设备的对象. 事件分三类:触摸事件.晃动事件.远程控制事件. 触摸事件:用户通过触摸设备屏幕操作对象,.输入数据.支持多点触摸,包含1个到多个触摸点. UIView支持触摸事件(继承了UIResponder),而且支持多点触摸 使用时,需要定义UIView子类,重写触摸相关的方法. 1.刚开始触摸到屏幕的时候触发 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{…
UIViewController 视图控制器,继承自UIResponder,作用:管理视图并且响应事件 功能: 1.分担APPdelegate的工作 2.实现模块独立,能提高复用性 创建UIViewController对象: UIViewController *viewController=[[UIViewController alloc]init]; UIViewController 自身带了一个UiView,默认的大小和屏幕大小一样. 每一个window都带有一个根视图,如果不给根视图赋值,…
UI程序的一般执行顺序: 先进入main里面,执行函数UIApplicationMain(),通过该函数创建应用程序对象和指定其代理并实现监听,当执行函数UIApplicationMain()时还会做一次跳转,跳转至AppDelegate UIApplicationMain() 函数的三大功能: 1.创建应用的UIApplication对象 2.指定应用程序的代理对象,代理的主要作用:监听应用程序是如何运行的. 3.建立事件循环(runloop:这个循环是一个死循环).作用:一旦用户操作应用程序…
UIButton是ios中用来响应用户点击事件的控件.继承自UIControl 1.创建控件 UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom]; 2.设置属性 (1).为按钮上颜色 button.backgroundColor=[UIColor yellowColor]; (2).为按钮设置大小 button.frame=CGRectMake(20, 100, 280, 50); (3)为按钮设置样式 [button se…
UIView 视图类,视图都是UIView或者UIView子类 UIWindow 窗口类,用于展示视图,视图一定要添加window才能显示 注意:一般来说,一个应用只有一个window 创建一个UIWindow对象 UIScreen 屏幕类 [UIScreen mainScreen]主屏幕 [[UIScreen mainScreen]bounds]获得主屏幕大小 如: 1.创建工程 2.把ARC改为MRC 3.window的属性由string改为retain 4.重写dealloc方法,对_wi…
遍历构造器的内存管理 a.遍历构造器方法内部使用autorelease释放对象 b.通过遍历构造器生成的对象.不用释放. 内存的管理总结 1.想占用某个对象的时候,要让它的引用计数器+1(retain操作) 2.当不想再占用某个对象的时候,要让它的引用计数器-1(release操作) 3.谁alloc谁release,遍历构造器使用autorelease 另:当一个属性遵循了协议的时候(该属性就是代理),这时使用内存组的assign修饰. 多态:父类指针 指向 子类对象 没有继承就没有多态 父类…
自动释放池: @autoreleasepool { } 内存管理机制       谁污染,谁治理 垃圾回收机制:gc(Garbage collection),由系统管理内存,开发人员不需要管理. OC从版本2.0之后开始支持垃圾回收机制,但iOS开发平台不支持垃圾回收机制 继承自NSObject的对象需要内存管理 OC中通过引用计数器管理内存 通过引用计数器管理内存的两种方式 1.MRC:(maual reference count),手动引用计数,就是开发人员通过引用计数管理内存 2.ARC:…
NSDate  日期类,继承自NSObject,代表一个时间点 NSDate *date=[NSDate date]; NSLog(@"%@",date);   //格林尼治时间,0时区时间 NSDate *date1=[NSDate dateWithTimeIntervalSinceNow:8*60*60];//现在的时间 NSDate *date2=[NSDate dateWithTimeIntervalSinceNow:-24*60*60];//相对格林昨天的时间 //    参…
block 块语法,可以用block去保存一段代码,或者封装一段代码. block 实际是由c语言实现的,执行效率很高. block 实际借鉴了函数指针的语法. block,在多线程.异步任务,集合遍历,集合排序.动画专场用得多 block (^)(参数类型1 参数名1,参数类型2 参数名2...); 返回值类型  (^)(); 1.没有参数,括号也不能省略 2.参数名可以省略 void(^myBlock1)();   无参数无返回值 void(^myBlock2)(int a,int b);…
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary但是这些类只能存放OC对象类型的数据 2.如果要存放基本数据类型,必须先将基本暑假类型包装成对象类型然后再用集合类进行存储,OC中提供的包装类是NSNumber,NSValue.其中NSNumber继承于NSValue. 3.NSNumber主要针对于基本数据类型的包装,NSValue主要针对结构体…
==============NSArray(不可变数组)=========== NSArray,继承自NSObject  用来管理(储存)一些有序的对象,不可变数组. 创建一个空数组 NSArray *array1=[[NSArray alloc]init];               //NSArray *array2=[NSArray array]; nil   数组结束标志 NSArray *array3=[[NSArray alloc]initWithObjects:@"rose&qu…
OC中的基本数据类型 NSString  在64位系统下,相当于long,在非64位系统下,想当于int. CGFloat   在64位系统下,相当于double,在非64位系统之下,想当与float ------------------------------------------------------------------------------------------------------------------------ 学习方法 一.查看API 1.help -> DOcum…
继承: 1.单向继承,一个类只能有一个父类,一个父类可以有多个子类. 2.单向继承,基类(根类)是OSObject 3.子类可以继承父类的属性和方法 当父类的方法不满足子类的需求时,子类可以重写父类的方法,重写父类的方法,在子类中不需要再次声明. 1.完全重写 2.部分重写   使用super 建立继承关系之后,子类可以继承父类的: 1.实例变量,@public@protected修饰情况之下 2.公开的方法 一个方法如果在.h中声明了,那么这个方法就是公开的方法,如果没有声明,则是私有的. O…
@public 1.公开的,公共的,可以在类的内部和外部访问. 2.类的内部:实例变量名 3.类的外部:对象->实例变量名 @protected 1.受保护的,只能在本类和子类中可以访问 2.类的内部:实例变量名 3.类的外部:通过设置器setter和访问器getter访问 @private 1.私有的,只能在本类中可以访问 2.类的内部:实例变量名 3.类的外部:通过设置器setter和访问器getter访问 总:@public 在所有文件均可访问.@protected只能在本类和子类中可以访…
摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢? 在Objective-C中,定义一个类,需要有两部分: 第一是接口(interface),第二是实现(implementation). 接口对应接口文件,而实现对应了实现文件. 接口文件包含了类的声明,成员变量(member variable)和方法(method). 接口文件通常是.h 实现文件通常是.…
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 本文将依次介绍上述八大排序算法. 算法一:插入排序 插入排序示意图 插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法步骤: 1)将第一待排序序列第一…
以下代码使用平台是Windows7 64bits+VS2012. sizeof作用于基本数据类型,在特定的平台和特定的编译中,结果是确定的,如果使用sizeof计算构造类型:结构体.联合体和类的大小时,情况稍微复杂一下. 1.sizeof计算结构体 考察如下代码: struct S1 { char c; int i; }; cout<<"sizeof(S1)="<<sizeof(S1)<<endl; sizeof(S1)结果是8,并不是想象中的siz…
以下代码使用平台是Windows7 64bits+VS2012. sizeof是C/C++中的一个操作符(operator),其作用就是返回一个对象或者类型所占的内存字节数,使用频繁,有必须对齐有个全面的了解. 1.sizeof的基本语法 sizeof有三种语法形式,如下: (1)sizeof( object ); // sizeof( 对象 ); (2) sizeof( type_name ); // sizeof( 类型 ); (3)sizeof object; // sizeof 对象;…