Xcode报错:No exact matches in call to initializer
Xcode报错:No exact matches in call to initializer

Xcode报错:No exact matches in call to initializer

问题描述

在Xcode中显示Text文本时报如下错误:

No exact matches in call to initializer

经查询发现问题为Text视图只接受String类型的值,因此需要将selectedNumber字段转为字符串才能显示。

解决方案

使用插值的方式,将selectedNumber由Number类型转换为String类型。

Text(selectedNumber)

类似问题

这一报错也常表现于将数字插入到Text()中。

Section("age") {
    Text(friend?.age ?? 0)
}

出现 No exact matches in call to initializer 错误的原因是 Text 初始化时的参数类型不正确。Text 的构造器需要接受 String 类型参数,而 friend?.age ?? 0 的类型是 Int。Text 不能直接接收非字符串类型的数据。

解决方法

将 friend?.age ?? 0 转换为字符串即可。可以使用以下方法之一:

1、使用 String() 初始化器:

Text(String(friend?.age ?? 0))

2、使用字符串插值:

Text("\(friend?.age ?? 0)")

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注