ios – 如何使函数接受所有类型的数组

ios – 如何使函数接受所有类型的数组,第1张

概述我是 Swift的新手,我想知道如何使函数接受包含各种变量类型的数组.我希望函数只接受没有特定类型的’Array’,但它会抛出错误.这是我的代码: func length(arry arry: Array){} 我知道我必须放一个<>在Array之后我需要通用接受所有数组的函数. 编辑: 每当我添加扩展程序时,我都会遇到这些荒谬的错误.我的代码是: //: Playground - noun 我是 Swift的新手,我想知道如何使函数接受包含各种变量类型的数组.我希望函数只接受没有特定类型的’Array’,但它会抛出错误.这是我的代码:

func length(arry arry: Array){}

我知道我必须放一个<>在Array之后我需要通用接受所有数组的函数.

编辑:
每当我添加扩展程序时,我都会遇到这些荒谬的错误.我的代码是:

//: Playground - noun: a place where people can playimport UIKitextension Array {var length: Int {    return self.count}}var arrY = ["Hello",0]for(var i = 0; i < length(arry: arrY); i++){print(arrY[i]);}arrY.append(28);var h = arrY.removeAtIndex(0);print(h);

我得到错误说:
  1在线10扩展可能不包含存储的属性
  2在线11预期声明
  3在线十八期预期声明
谢谢,

插口

解决方法 如果需要,可以编写通用函数:

func length<T>(arry arry: Array<T>){}

在Swift中,Apple引入了Generics的概念,你现在也可以在Xcode 7和Objective-C上找到它.此功能允许您定义Array或您正在使用的集合类中每个元素的类型.您可以定义泛型类或通用方法,如给定的示例.此功能使您能够以一种可以安全地使用不同类型的方式编写代码,同时利用类型安全的优势.例如,在我给出的示例中,它表示length是一个通用方法,它将类型为T的数组作为输入.编写这样的方法,允许您编写一个能够接受不同类型的数组的方法.例如,下面的示例代码显示您可以对Int数组和Double数组使用相同的方法:

var arr = [13,23,32]var arr2 = [12.3,23.5,13.14,2.75]var arr3 = ["foo","boo"]length(arr)length(arr)length(arr)

有关泛型的更多信息,您可以在this Link查看在线文档,和/或观看WWDC 2014的Swift介绍视频,和/或阅读The Swift Programming Language的通用部分

总结

以上是内存溢出为你收集整理的ios – 如何使函数接受所有类型的数组全部内容,希望文章能够帮你解决ios – 如何使函数接受所有类型的数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1014407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存