Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >协议“Numeric”只能用作泛型约束,因为它具有自身或关联的类型要求

协议“Numeric”只能用作泛型约束,因为它具有自身或关联的类型要求
EN

Stack Overflow用户
提问于 2020-05-19 23:33:46
回答 1查看 253关注 0票数 0

下面是我的一个同事写的快速代码。

我不知道斯威夫特。

我一直在xcode中运行'Product‘-> 'Archive’,这样我就可以发布到应用商店了。

下面的代码已经存在很长一段时间了,我没有修改它,但我现在收到错误消息“协议'Numeric‘只能用作泛型约束,因为它有自身或关联的类型要求”。

有人知道问题出在哪里吗?...and你能解释一下吗?

任何帮助都是非常感谢的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import Foundation

func MyCallback(_ id: String, _ with: Any?) -> String{
    return "My.callback('\(id)', \(with != nil ? with is Numeric ? with! : "'\(with!)'" : "void 0"));"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 03:40:49

这段代码看起来真的很糟糕。这不是在Swift中展开optionals的方式。无论如何,如果withNumeric类型或String,您可以简单地尝试将其转换为String,而不是检查它是否为Numeric

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func MyCallback(_ id: String, _ with: Any?) -> String {
    if let string = with as? String {
        return "My.callback('\(id)', '\(string)');"
    } else if let with = with {
        return "My.callback('\(id)', \(with));"
    }
    return "My.callback('\(id)', void 0);"
}

请注意,Swift的命名约定是以小写字母func myCallback开头命名您的方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61902550

复制
相关文章
泛型与关联类型
和其他我学过的语言相比较,Rust有一些令人费解的概念。借用,所有权,借用检查这些概念大家应该已经都听说过了,我自己曾花费数小时在生命期问题上,最终不得不放弃抗争,转而采用Clone来解决。
MikeLoveRust
2020/04/07
1.3K0
【Flutter】Dart 泛型 ( 泛型类 | 泛型方法 | 特定类型约束的泛型 )
泛型作用 : 为 类 , 接口 , 方法 提供复用性 , 支持类型不确定的数据类型 ;
韩曙亮
2023/03/28
5.4K0
Kotlin 泛型:类型参数约束
上一篇文章讲了 Kotlin 泛型:基本使用,接下来我们再进一步了解泛型使用相关的进阶知识。
Kkkiro
2023/02/24
2.3K0
【Kotlin】泛型 ① ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 )
将 泛型参数 T 放在 尖括号 <T> 中 , 该泛型参数放在 类名后 , 主构造函数之前 , 该泛型参数 T 是 类型占位符 ,
韩曙亮
2023/03/30
3K0
C#中的泛型(类型参数的约束)
RemoveElement方法用于删除数组中指定位置的元素,PrintArrayInfo方法用于输出数组。
卡尔曼和玻尔兹曼谁曼
2019/01/25
3.7K0
【Kotlin】泛型总结 ★ ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 | 可变参数结合泛型 | out 协变 | in 逆变 | reified 检查泛型参数类型 )
将 泛型参数 T 放在 尖括号 <T> 中 , 该泛型参数放在 类名后 , 主构造函数之前 , 该泛型参数 T 是 类型占位符 ,
韩曙亮
2023/03/30
4.1K0
【Kotlin】泛型总结 ★ ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 | 可变参数结合泛型 | out 协变 | in 逆变 | reified 检查泛型参数类型 )
Kotlin 范型之泛型约束、类型投影、星号投影
Kotlin 跟 Java 一样,也拥有泛型约束。Java 使用 extends 关键字指明上界。
fengzhizi715
2019/10/08
2.7K0
C#泛型入门泛型类、泛型集合、泛型方法、泛型约束、泛型委托
给.neter们整理了一份《.NET/C#面试手册》,目前大约4万字左右,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间。对于没有跳槽打算的也可以复习一下相关知识点,就当是查缺补漏!
全栈程序员站长
2022/09/14
2.6K0
C#泛型入门泛型类、泛型集合、泛型方法、泛型约束、泛型委托
.NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
2018-09-01 08:28
walterlv
2018/09/18
4.3K0
TypeScript-泛型约束
博主需求: 要求指定的泛型类型必须有 length 属性才可以指定该类型为泛型的类型:
杨不易呀
2023/09/28
2310
TypeScript-泛型约束
TypeScript-在泛型约束中使用类型参数
如上的代码在编译器当中是会报错的,报错的原因就是它不知道 obj[key] 返回的到底是不是 any 这个类型,这个错其实可以不用管,如果要想解决这个错误可以利用 interface 来解决,我可以先给出利用 interface 解决这个错误的代码:
杨不易呀
2023/09/28
2190
TypeScript-在泛型约束中使用类型参数
【Rust 基础篇】Rust关联类型:灵活的泛型抽象
Rust是一种以安全性和高效性著称的系统级编程语言,其设计哲学是在不损失性能的前提下,保障代码的内存安全和线程安全。为了实现这一目标,Rust引入了"所有权系统"、"借用检查器"等特性,有效地避免了常见的内存安全问题。在Rust中,泛型是一种非常重要的特性,它允许我们编写一种可以在多种数据类型上进行抽象的代码。然而,有时候我们需要在trait中使用泛型,但泛型参数又与具体类型相关联。这时,Rust的关联类型就派上用场了。本篇博客将深入探讨Rust中的关联类型,包括关联类型的定义、使用场景、使用方法以及注意事项,以便读者了解如何在Rust中实现灵活的泛型抽象。
繁依Fanyi
2023/10/12
4951
Swift基础 通用
翻译自:https://docs.swift.org/swift-book/LanguageGuide/Generics.html
郭顺发
2023/07/17
1170
(二十四)泛型约束
在我们之前的定义泛型的时候可以给它传递任何类型的泛型,但是在开发中我们需要在固定的类型中选择一个传递,传递其他的则无效,像这样约束泛型该怎么写呢
老怪兽
2023/02/22
1880
TypeScript中泛型及泛型函数、泛型类、泛型接口,泛型约束,一文读懂
 最近在学TypeScript,然后整理了一下关于TypeScript中泛型的一些笔记。
痴心阿文
2022/11/21
2.8K0
C#高级语法之泛型、泛型约束,类型安全、逆变和协变(思想原理)
首先我们要明白,泛型是泛型,集合是集合,泛型集合就是带泛型的集合。下面我们来模仿这List集合看一下下面这个例子:
AI.NET 极客圈
2019/08/26
7.1K1
C#高级语法之泛型、泛型约束,类型安全、逆变和协变(思想原理)
泛型类、泛型方法、类型通配符的使用
       你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。
泰斗贤若如
2019/06/19
3.8K0
Rust 1.65 引入泛型关联类型,向高级类类型迈进了一步
作者 | Sergio De Simone 译者 | 明知山 策划 | 丁晓昀 最新版本的 Rust 引入了一个功能强大的新语言特性,叫作泛型关联类型,允许开发人员为 trait 中的关联类型指定泛型。其他值得注意的新特性还包括 let-else 语句,以及对跳出标记块的支持。 经过 6 年的开发,泛型关联类型(GAT)可以被认为是 trait 类型构造函数的一种形式,可以用来定义关联类型的泛型、寿命或常量泛型。 这个特性(关联类型构造函数)解决了高级类类型最常见的用例之一,与其他形式的高级类类型
深度学习与Python
2023/03/29
5260
Rust 1.65 引入泛型关联类型,向高级类类型迈进了一步
Java--泛型的约束和局限性
上一篇:泛型程序设计语法 要讨论泛型的约束和局限性,必须先了解Java的类型擦除。 类型擦除: Java虚拟机内没有泛型类型对象----所有对象都属于普通类。因此无论何时定义一个泛型类型,都自动提供一个相应的原始类型。原始类型的名字就是删去类型参数后的泛型类型名。擦除类型变量,并替换为限定类型(无限定的变量用Object)。例如: public class Interval<T extends Comparable & Serializable> implements Serializable{ p
SuperHeroes
2018/05/22
1.2K0
Java 泛型中的类型推断
这样写,编译器报错: jshell> List<?> unknows = new ArrayList<?>() | Error: | unexpected type | required:
一个会写诗的程序员
2018/08/17
3K0

相似问题

协议“View”只能用作泛型约束,因为它具有自身或关联的类型要求

135

协议“”BaseListPresenter“”只能用作泛型约束,因为它具有自身或关联的类型要求

12

错误:协议只能用作泛型约束,因为它具有自身或关联的类型要求

10

协议只能用作泛型约束的问题,因为它具有自身或关联的类型要求`

23

协议只能用作泛型约束,因为它具有自或关联的类型要求。

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文