当前位置:  编程技术>移动开发
本页文章导读:
    ▪[obj-c]基础的货色        [obj-c]基础的东西 记录学习obj-c的一些基础的东西 ==================================== obj-c方法前的符号含义。   减号 – 实例方法      代表此方法是实例方法,必须先生成类实例,通过实例才能.........
    ▪ 兼容的带式样的INPUT        兼容的带样式的INPUT   <style> /* 作用描述:给INPUT添加美化的样式,兼容IE8,IE9,FF,chrome,safari等 效果描述; - 1.边框带圆角 - 2.指定INPUT高度 - 3.INPUT文本上下居中,添加左边距 - 4.背.........
    ▪ 截取一部分图片并显示       截取部分图片并显示 src :  http://marshal.easymorse.com/archives/3703 ......

[1][obj-c]基础的货色
    来源: 互联网  发布时间: 2014-02-18
[obj-c]基础的东西

记录学习obj-c的一些基础的东西

====================================

obj-c方法前的符号含义。

 

减号 –

实例方法

     代表此方法是实例方法,必须先生成类实例,通过实例才能调用该方法。

 

加号 + 

类方法

    代表此方法是类的静态方法,可以直接调用,而不用生成类实例。

====================================

KVC 

 

概述 KVC是KeyValue Coding的简称,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。 

-valueForKey:

-setValue: forKey:

 

path

-valueForKeyPath:

-setValue: forKeyPath:

{把xx设置到马力: 车下的引擎属性,引擎属性下的马力

 [car setValue:@"xxxxx" forKeyPath:@"engine.power"]

}

 

整体操作(数组类)

KVC有一个很棒的一点是,如果NSArray 请求一个键值,它实际上会查询数组中的每一对象来查找这个键值。

ex:

tires<-数组

 

NSArray *pressures = [car valueForKeyPath: @"tires.xxxx"]

 

此时会把所有tires数组内的对象的xxxx属性都查询出来以NSArray的形式。

 

 

流畅的计算(通过使用path与@来实现快速计算)

在valueForPath下使用path与@来实现快速计算 cars是个数组

ex:计算一共用多少车

count = [xx valueForPath:@"cars.@count"]

@sum 

@min

@max

@avg

 

等目前我还不知道其他=-=

ex2:车队中形式公里最长的公里数 cars是个NSArray max会存放车队 cars中行驶公里最长的公里数

max= [xx valurForPath:@"cars.@max.gongli"]

!注意:编译器无法判断他是不是错误键路径。\

 

@distinctUnionOfObjects 在左边的属性数组对应右边属性中去重取出,以NSArray形式

[xx valueForKeyPath:@"cars.@distinctUnionOfObjects.make"]

去重取出make

distinct表示去重 union表示集合

 

处理setValue:forKey:  value为nil的问题

重写-(void) setNillValueForKey: (NSString *)key 

{

if(key isEqualToString: @"xxxx"){

XXXX=一个值为nil时此属性应该的值

}else{

[super setNilValueForKey:key];

}

}

 

处理未定义的键

添加一个NSMutableDictionary字典来保存未定义的键

重写

-(void) setValue:(id) value forUndefinedKey:(NSString *)key{

if(stuff==nil){

stuff=[[NSMutableDictionary alloc] init]

}

[stuff setValue:value for:key]

}

重写

-(id) valueForUndefinedKey:(NSString *)key{

id value = [stuff valueForkey:key];

return(value)

}

 

 

<null>,(null),nil

<null>

表示[NSNull null]

(null)

是一个真实的nil

nil

obj-c中的空值

NSDictionary  setValue:forkey:如果设置nil的话 会把对应的键从字典中删除。

 

NSPredicate

类似过滤器

[NSPredicate predicateWithFormat: @"name=='herbie'"]

返回一个 NSPredicate  类型对象 此对象表明 过滤:只保留name属性等于herbie。

name属性那个位置可以放置keyPath 如对car使用过滤器时 engine.horsepower>xxx

 

predicateWithFormat后跟一个@"keypath 运算符 value"

且@" (第一个过滤条件) AND (第二个过滤条件)"

AND 还可以为 OR, NOT, &&, ||, !,可以不分大小 不过还是大写好点

不等号不仅适用于数值 也适用于字符。比如<N 则过滤剩下A~M的。

 

数组运算符

引擎马力在50到200之间的。

BETWEEN 

@“engine.horsepower BETWEEN {50,200}”

IN

@“name IN{'abc','poolo'}”

 

字符串运算符

BEGINSWITH 以什么为开头

ENDSWITCH 以什么为结尾

CONTAINS 是否包含

 

LIKE运算符

name LIKE ‘*er*’  //包含er的 *表示前后任意

name LIKE '???er*'//er前面只能有3位后面任意

LIKE[cd] 用于忽略大小写

MATCHES 万恶的正则表达式

 



    
[2] 兼容的带式样的INPUT
    来源: 互联网  发布时间: 2014-02-18
兼容的带样式的INPUT

 

<style>
/*
	作用描述:给INPUT添加美化的样式,兼容IE8,IE9,FF,chrome,safari等
	效果描述;
		- 1.边框带圆角
		- 2.指定INPUT高度
		- 3.INPUT文本上下居中,添加左边距
		- 4.背景色为白色
		- 5.当INPUT获得光标的时候,边框高亮显示天蓝色。
		- 6.IE7下没有高亮效果
		- 7.chrome下聚焦后边框是2px。
*/
.cssInput{
	border:1px solid #7A6F6F;
	border:1px solid #7A6F6F \9;/*IE*/
	width:200px;
	height:20px;/*非IE高度*/
	height:20px \9;/*IE高度*/
	padding-left:5px; /*all*/
	line-height:20px \9;/*IE*/
	-moz-border-radius:3px;/*Firefox*/
	-webkit-border-radius:3px;/*Safari和Chrome*/
	border-radius:3px;/*IE9+*/
	background-color:white;
	outline:none;
}
.cssInput:focus{/*IE8+*/
	border-color:#78BAED;
	[;outline:1px solid #78BAED;/*chrome*/
}</style>
	<input type="text"  id="txt_id" value="我是cssInput的text"><br/><br/>
	
	<input type="text" id="txt_id"  value="我是普通的text">

 

附件是效果图

 

 

 

 

 

 

愤怒的coder  - 分享、共赢

 

 


    
[3] 截取一部分图片并显示
    来源: 互联网  发布时间: 2014-02-18
截取部分图片并显示
src :  http://marshal.easymorse.com/archives/3703

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android提高之多方向抽屉实现方法 iis7站长之家
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3