翻译专题提供翻译的最新资讯内容,帮你更好的了解翻译。
造型 造型是检查一个实例的类型,并且/或者将这个实例作为它所处类继承谱系中的超类或者子类处理 的一种方式。 Swift的造型通过is和as操作符实现。这两个操作符提供了一种简单而且方便的方式检查一个值的类型或者将一个值造型为另外一种类型。 也可以使用操作来检查一个类型是否遵循了一个协议,就像 Checking for Protocol Conformance 一节的描述。 为造型定义一个类的谱系
嵌套的类型 枚举经常被创建用来支撑特定类或者结构体的功能。类似的,为了在一个复合类型上下文中使用,定义纯粹的工具类和结构体也是可行的。为了做到这些,Swift允许定义嵌套类型,籍此可以在支持的类型定义中嵌套枚举、类、和结构体。 要把一个类型嵌套在另一个类型中,在那个类型的最外层大括号内定义类型就可以了。类型嵌套可以根据需要做任意层级的。 嵌套的类型实战 下面例子定义一个叫做BlackjackCar
扩展 扩展就是给存在的类、结构体或者枚举类型添加新的功能。这包括了对不能够访问源代码的类型进行扩展的能力(这被称作逆向建模)。扩展和OC中的categories 类似。(和OC中的categories 不同的是,Swfit的扩展不可以有名字。) Swift中的扩展可以做以下事情: 添加计算属性和计算静态属性; 定义实例方法和类型方法; 提供新的构造方法; 定义下标; 定义和使用新的潜逃类型; 让被
协议 一个协议可以定义实现特定任务或者功能篇的的方法、属性或者其他的蓝图。协议不会给出这些要求的具体实现——它只是描述实现后要是说明样子。协议可以被一个类、结构体或者枚举采用,后者需要提供协议要求的实现。任何满足一个协议的类型都可以被称作遵循(译者:conform)了那个协议。 协议可以要求遵循它的类型拥有特定的实例属性、实例方法、类型方法、类型操作符和类型下标。 协议语法 定义一个协议和定义一个
泛型 泛型能让你根据你的需要,写出适用于任何类型的、灵活的、可重用的函数和类型。写出能够避免重复而且清晰概要的代码。 泛型是Swfit最重要的恶性之一,许多Swift的标准库都采用了泛型。实际上,在语言引导(Lanagage Guide)中,你已经使用过泛型了,尽管没有意识。比如Swift的Array和Dictionary类型都是泛型集合。在Swift中,可以创建一个存放Int数值的数组,也可以创
访问控制 访问控制限制其他源文件或者模块中的代码访问你的代码。这个特性使得你可以隐藏你的代码的具体实现,还可以指定外部代码能够访问和使用的接口。 可以给个体类型(类、结构体和枚举)分配访问级别,同样也可以对属于这些类型的属性、方法、构造方法和下标进行同样的操作。 Protocols can be restricted to a certain context, as can global cons
高级操作符 在前面的 基本操作符(Basic Operators)之外,为了做更复杂的值操作,Swift还提供了若干高级操作符。这些高级操作符包括在C和OC中已经习以为常的按位(bitwise)和移位( bit shifting)运算符。 不同于C中的算术操作符,Swfit中的算术操作符不会默认溢出。溢出行为会被捕捉并报告为一个错误。想要选择溢出行为,需要使用Swfit中的第二算术操作符集合,比如
使用Swift在Xcode中创建自定义控件 原文 IBDesignable and IBInspectable With IBDesignable and IBInspectable, developers are allowed to create interface (or view) that renders in Interface Builder in real time. In gen
我正在使用谷歌翻译将strings.xml文件翻译成其他语言的英语.但是逐个翻译1000多行需要花费太多时间.有没有简单的方法或代码来做到这一点? 如何将您的应用翻译成其他语言? 在 Github看看 my Python scripts.它在网页后面工作 here.你喂 strings.xml 加上IN和OUT语言代码,谷歌翻译完成其余的工作.如果您使用简单明确的英语,效果最佳.感谢Khayam
  【翻译】两种高性能I/O设计模式(Reactor/Proactor)的比较 分类: Comet&&NIO 2012-12-20 19:05  762人阅读  评论(0)  收藏  举报 目录(?)[+] 【翻译】两种高性能I/O设计模式(Reactor/Proactor)的比较 这是05年的老文章,网上有人早就翻译过了:http://www.cppblog.com/pansunyou/arch
闲扯 在翻译之前我还是要简要介绍一下Meteor,这是一款跨时代的框架。真的,完全没有骗你。 一开始的网站是纯静态页面搭建的。 后来开始使用动态的脚本语言,比如PHP 后来以此构成了框架。最为出名的自然是Ruby on Rails。 再后来node的出现导致web开发再起风波,MEAN开始大行其道,但是,由于时间太短,没办法对PHP阵营和RoR阵营造成什么冲击,但是前后端统一js的理念已经存在了。
在 React 组件中定义视图 在开始编写React视图库之前,要先添加react包,这个包囊括了你在Meteor应用中开始运行React所需要所有东西。这个React库自己可以自动将jsx文件编译,并且通过ReactMeteorData的mixin加载数据。我们将会在接下来的步骤中看到如何使用所有的这些东西。 打开一个新的终端,在你运行Meteor程序相同的文件夹下运行这样一条命令: meteo
数据存储 集合(Collection)是Meteor存储持久化数据的方式。Meteor 中的集合比较特殊的是,它可以从服务端,包括客户端接收数据。这使得编写视图逻辑变得更加简单 -- 不用去写太多的服务端的代码。它也可以自动的自我更新,因此一个视图组件受到一个集合的支持,他可以自动的展示最新的数据。 创建一个新的集合和在你的JavaScript中调用MyCollection = new Mongo
通过表单(form)添加任务 在这个步骤,我们将为用户在列表上添加输入框。 首先,在App.jsx文件中App组件上添加表单吧。 <div className="container"> <header> <h1>Todo List</h1> <!-- 添加开始 --> <form className="new-task" onSubmit={this.handl
确认完成和删除任务 到现在为止,我们只有一个和集合互动的方法 -- 在文档中进行插入操作。 现在,我们来学习如何进行更新和删除操作。 先来给task组件添加两个元素: 一个确认选框和一个删除按钮,并给他们带上各自的事件监听 在Task.jsx中写入下面的内容 // Task component - represents a single todo item Task = React.createC
部署你的应用 现在你有了一个可以运行的待办事宜的应用,你可以分享给你的朋友们! Meteor使得发布你的应用到其他人可以使用的互联网变得非常的简单。 同样是在你的应用文件夹的命令行中输入: meteor deploy my_app_name.meteor.com 只要你回答完了提示信息的问题而且上传也完成了,你就可以在任何时候任何地点,登陆http://my_app_name.meteor.com
在安卓和苹果上运行你的应用 目前Windows平台的Meteor并不支持移动应用的构建,如果你正在使用Windows平台的Meteor,你得跳过这一步了。 现在来看,我们编写我们的应用,测试我们的应用都是在浏览器上,其实Meteor早就设计了跨平台的能力 -- 你的待办事宜网站也可在安卓或者苹果上运行,而只需要几个简单的命令 Meteor使得导入构建移动应用的所需工具变得很简单,只是下载所有的应用
在组件状态中存储临时数据 在这个步骤,我们会在为应用的客户端添加数据过滤特性,这样用户就可以通过点击’确认选框‘来查看当前进行的任务。我们会去学习如何仅在客户端使用React组件状态来存储临时模板 首先,我们需要在我们的App组件中,添加’确认选框‘ <!-- 在App.jsx 文件中 --> <header> <h1>Todo List</h1> <!-- 开始添加内容 -->
添加多用户账户 Meteor带来了一套账户系统然后顺便还带了用户界面来让你可以在几分钟之内在你的应用中添加多用户功能 目前,这套UI组件使用Blaze作为默认的UI引擎,在未来,可能会以React的专有组件来将其替换。 为了开启这套账户系统和UI界面,我们需要去添加相关的包。在你的应用目录中,执行下面的命令: meteor add accounts-ui accounts-password 用Re
方法的安全性 在这个步骤之前,这款应用的任何用户都可以修改数据库的任何部分,在一个非常有意思的小项目或者演示项目中可能已经不错了,但是任何一个真实的应用都需要对这些数据进行权限控制。 在Meteor上,最好的方法就是通过声明方法。以此来直接取代客户端的代码。这些方法叫做insert, update, 还有remove,这将会替换执行的方法。它将会确认用户是否有权限完成这么一整套操作。那么随后在客户