提交 1b8c619f 编写于 作者: lizhongyi_'s avatar lizhongyi_

update data-type.md

上级 ae73a50c
......@@ -621,7 +621,7 @@ async function testAsync(opts: AsyncOptions) {
**需要注意:使用 async 定义异步方法只有 iOS 13+ 版本才支持,低版本调用会报错**
#### 5.1.14 try catch
#### 5.1.14 try catch @try
swift中try有以下三种方式:
......
......@@ -568,6 +568,8 @@ fruits.forEach(function(item, index, array) {
// Apple 0
// Banana 1
```
- 注意:数组遍历不推荐使用 for in 语句,因为在 ts 中 for in 遍历的是数组的下标,而在 Swift 和 Kottlin 中遍历的是数组的元素,存在行为不一致。
- 添加元素到数组的末尾
```ts
const newLength = fruits.push('Orange')
......
......@@ -148,6 +148,8 @@ for (let i = 0; i < 10; i++) {
- [数组的forEach](buildin-object-api/array.md#foreach)
- [set的forEach](buildin-object-api/set.html#foreach)
- 注意:数组遍历不推荐使用 for in 语句,因为在 ts 中 for in 遍历的是数组的下标,而在 Swift 和 Kottlin 中遍历的是数组的元素,存在行为不一致。
### while
一个 while 语句只要指定的条件求值为真(true)就会一直执行它的语句块。一个 while 语句看起来像这样:
......@@ -273,3 +275,5 @@ try {
}
```
- 注意:在 iOS 平台由于 Swift 的特殊语法,无法直接使用 try...catch, 在 iOS 平台上使用 try 的语法[详见](https://uniapp.dcloud.net.cn/plugin/uts-for-ios.html#try)
......@@ -417,11 +417,12 @@ let kotlinArray = utsArr.toTypedArray()
```
##### swift专有数组类型
##### iOS 平台专有数组类型
UTS 中的 Array 对应到 Swift 中就是 Array, 方法是通用的,无需转换。一般情况下,使用 Array 即可。
但是,某些系统或者三方库 API 可能会要求 OC 的 NSArray、NSMutableArray 类型的数组,这个时候就需要进行转换。
- 专有数组类型清单
UTS 中的 Array 对应到 Swift 中就是 Array, 方法是通用的。一般情况下,使用 Array 即可。
但是,某些系统或者三方库 API 可能会要求 NSArray、NSMutableArray 类型的数组,这个时候就需要进行转换。
* NSArray
* NSMutableArray
......@@ -516,6 +517,63 @@ let a3: NSMutableArray = NSMutableArray(array= a)
更多Array的API,[详见](https://uniapp.dcloud.net.cn/uts/buildin-object-api/array.html)
### json类型 @json
json 在 web 中是一个 object,不存在 json 这个基础类型。在 uts 中提供了内置的 UTSJSONObject 对象。
#### 定义 UTSJSONObject
可以通过 object 字面量的方式定义一个 UTSJSONObject 对象
```ts
let rect = {
x: 20,
y: 12,
size: {
width: 80,
height: 80
}
}
console.log(rect)
```
当然,也可以在 object 字面量前指定 UTSJSONObject 类型, 例如:
```ts
let origin: UTSJSONObject = {
x: 20,
y: 12,
}
```
有关定义 UTSJSONObject 对象的更多信息[详见](uts/literal.md#object)
#### 访问 UTSJSONObject 对象中的属性
以上述 rect 为例,我们可以通过下标的方式访问其中的属性:
```ts
let rect = {
x: 20,
y: 12,
size: {
width: 80,
height: 80
}
}
let x = rect["x"]
let size = rect["size"]
// 如果属性存在嵌套,那么需要先把第一层转成 UTSJSONObject 之后再用下标访问下一层,以此类推。
let width = (rect["size"] as UTSJSONObject)["width"]
```
### any类型 @any
有时会遇到在编程阶段还不清楚类型的变量。这些值可能来自于动态的内容,比如来自用户输入或第三方代码库。
......@@ -641,6 +699,4 @@ uts 编译为kotlin和swift时不支持 undefined。即不允许变量未赋值
每个有类型的变量都需要初始化或赋值。
- json
json 在 web 中是一个 object,不存在 json 这个基础类型。在 uts 中提供了内置的 UTSJSONObject 对象,[详见](buildin-object-api/json.md)
......@@ -92,7 +92,7 @@ Boolean字面量的自动类型推导简单而统一,全平台必然被自动
数字字面量的类型推导,[详见](data-type.md#@autotypefornumber)
### 字符串字面量
### 字符串字面量 @object
字符串字面量是由双引号(")对或单引号(')括起来的零个或多个字符。字符串被限定在同种引号之间;也即,必须是成对单引号或成对双引号。下面的例子都是字符串字面值:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册