当前位置: 首页 > news >正文

wordpress分类目录标签转换器永嘉网站优化

wordpress分类目录标签转换器,永嘉网站优化,汽车网站制作模板,怎样自己制作公司网站上传很多刚从其他编程语言转到Objective-C的同学看到长长的函数名会感到崩溃#xff0c;这种语法让消息的传递像一个英语句子#xff0c;大大增强了可读性。比如你想初始化一个浮点数#xff0c;需要这么写#xff1a; NSNumber value [NSNumber numberWithFloat:123.45f];从这…很多刚从其他编程语言转到Objective-C的同学看到长长的函数名会感到崩溃这种语法让消息的传递像一个英语句子大大增强了可读性。比如你想初始化一个浮点数需要这么写 NSNumber value [NSNumber numberWithFloat:123.45f];从这句中我们能够明确的知道代码的含义但是是否连简单的赋值语句也要这么处理呢苹果在本次新特性中采用了折中的处理方式针对很多基础类型采用了简写的方式实现语法简化。简化以后我们会发现从语法层面这些简化的Objective-C更像Python和Ruby等动态语言的语法了。下面我们逐一介绍 NSNumber 简化前的写法 NSNumber *value; value [NSNumber numberWithInt:12345]; value [NSNumber numberWithFloat:123.45f]; value [NSNumber numberWithDouble:123.45]; value [NSNumber numberWithBool:YES];简化后的写法 NSNumber *value; value 12345; value 123.45f; value 123.45; value YES;装箱表达式也可以采用类似的写法 NSNumber *piOverSixteen [NSNumber numberWithDouble: ( M_PI / 16 )]; NSString *path [NSString stringWithUTF8String: getenv(PATH)];可以分别简写为 NSNumber *piOverSixteen ( M_PI / 16 ); NSString *path ( getenv(PATH) );对于字符串表达式来说需要注意的是表达式的值一定不能是NULL否则会抛出异常。 NSArray 对于NSArray的初始化来说有非常多的写法这里就不再一一罗列我们直接看新的写法 NSArray *array; array [];               //空数组 array [ a ];          //一个对象的数组 array [ a, b, c ]; //多个对象的数组非常简单再也不用记住初始化多个对象的数组时后面还要跟一个倒霉的nil。 现在我们看一下当声明多对象的数组时编译器是如何处理的 array [ a, b, c ]; 编译器生成的代码 id objects[] { a, b, c }; NSUInteger count sizeof(objects)/ sizeof(id); array [NSArray arrayWithObjects:objects count:count];好吧编译器已经为我们把这些简单重复的工作都做了我们就可以安心解决真正的问题了不过有一点要注意如果abc对象有nil的话运行时会抛出异常这点和原来的处理方式不同编码的时候要多加小心。 NSDictionary 同样对于字典这个数据结构来说有很多种初始化的方式我们来看新的写法 NSDictionary *dict; dict {};     //空字典 dict { k1 : o1 };     //包含一个键值对的字典 dict { k1 : o1, k2 : o2, k3 : o3 }; //包含多个键值对的字典最后我们总接一下容器类数据结构简化的限制 采用上述写法构建的容器都是不可变的如果需要生成可变容器可以传递-mutableCopy消息。例如 NSMutableArray *mutablePlanets [[Mercury, Venus, Earth,Mars, Jupiter, Saturn,Uranus, Neptune] mutableCopy];不能对常量数组直接赋值解决办法是在类方法(void)initialize进行赋值如下 implementation MyClass static NSArray *thePlanets;(void)initialize {if (self [MyClass class]) {thePlanets [Mercury, Venus, Earth,Mars, Jupiter, Saturn,Uranus, Neptune]; } }没有常量字典 对象下标 容器的语法简化让我们不难想到可以通过下标的方式存取数组和字典的数据。 比如对于数组  NSArray *array  [ a, b, c ];我们可以这样写 id obj array[i];     //通过下标方式获取数组对象替换原有写法array objectAtIndex:i]; array[i] newObj;     //也可以直接为数组对象赋值。替换原有写法[array replaceObjectAtIndex:i withObject:newObj];对于字典 NSDictionary *dict { k1 : o1, k2 : o2, k3 : o3 };我们可以这样写 id obj  dict[k2];     //获取o2对象替换原有写法[dic objectForKey:k2]; dic[k2] newObj;  //重新为键为k2的对象赋值替换原有写法[dic setObject:newObj forKey:k2] 为自定义类添加下标支持 同时我们自己定义的容器类只要实现了规定的下标方法就可以采用下标的方式访问数据。要实现的方法如下 数组和字典类型的下标方法 - (elementType)objectAtIndexedSubscript:(indexType)idx;  - (void)setObject:(elementType)object atIndexedSubscript:(indexType)idx; - (elementType)objectForKeyedSubscript:(keyType)key;  - (void)setObject:(elementType)object forKeyedSubscript:(keyType)key;其中需要注意的是indexType必须是整数elementType和keyType必须是对象指针。 转载自http://www.infoq.com/cn/articles/wwdc2012-objective-c-new-feature/
http://www.yutouwan.com/news/26441/

相关文章:

  • 做ppt图片用的网站有哪些问题wordpress自定义结构404
  • 开公司做网站有什么网站可以免费建站免费建网站
  • 做药品网站有哪些内容网站添加备案信息
  • 专业外包网站建设公司排名沧州网站建设制作设计优化
  • 网站甚而模板wordpress图片无法显示
  • 连云港做网站哪里好网站如果建设
  • dedecms网站地图前台路径不修改搜索引擎推广费用
  • 狗狗和人做网站丹东搜索引擎优化
  • 公司网站建设哪家公司好电子商务网站建设的核心多选
  • 国外网站制作wordpress 提交评论
  • 东莞做网站建设wordpress 安装 此网页包含重定向循环
  • 常州新北区网站建设现在推广平台哪家最好
  • 个人网站 备案 攻略织梦技术个人网站模板
  • 注册网站引流网络营销岗位有哪些
  • 网站建设完成确认书郴州哪个县最繁华
  • 手机网站建设方案智慧团建网页
  • 苏州专业做网站公司有哪些如何防止网站被攻击
  • 网站推广服务商公司网站建设意见和建议
  • 北京平台网站建设价格赤峰建设业协会的官方网站
  • 做彩票网站用什么服务器濮阳网站建设价格
  • 北京网站建设公司哪些好自己怎么接单做网站
  • 阿里云建站视频商品网站做推广方案
  • 网站发布与推广方式下载京东网上商城
  • 旅游网站的建设依据和背景wordpress 科技企业主题
  • 无锡市建设银行总行网站重庆营销型网站建设沛宣
  • 外贸网站建设ppt模板网站开发和数据库哪个有前途
  • 上海企业做网站企业营销案例
  • 网站推广途径及要点wordpress 插件路由
  • 广州品牌建站广州品牌建站青海做网站最好的公司
  • 专业定制网站设计网站ftp密码怎么修改