iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了数组 – Swift – 按属性获取数组中的对象大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

参见英文答案 > Find Object with Property in Array                                    5个 我是Swift的新手,我在按属性检索数组中的对象时遇到了一些问题. 请注意,我使用的是Swift 2.0. 我有以下数组; //Dummy Data prior to database call: static var listPose
参见英文答案 > Find Object with Property in Array                                    5个
我是Swift的新手,我在按属性检索数组中的对象时遇到了一些问题.

请注意,我使用的是Swift 2.0.

我有以下数组;

//Dummy Data prior to database call:
static var listPoses = [
    YogaPose(id: 1,title: "Pose1",description: "This is a Description 1",difficulty: Enums.Difficulty.beginner,imageURL: "Images/Blah1"),YogaPose(id: 2,title: "Pose2",description: "This is a Description 2",difficulty: Enums.Difficulty.Advanced,imageURL: "Images/Blah2"),YogaPose(id: 3,title: "Pose3",description: "This is a Description 3",difficulty: Enums.Difficulty.Intermediate,imageURL: "Images/Blah3"),title: "Hello World",imageURL: "Images/Blah3")
]

我现在有一个方法,我想通过Id返回一个对象.有人可以告诉我如何这样做……例如其中listPose.Id === Id;

//Returns a single YogaPose By Id:
class func GetPosesById(Id: int) -> YogaPose{


    if(listPoses.count > 0){
        return listPoses() ...
    }

}

解决方法

因此,Swift提供了一种根据所需条件过滤对象列表的方法.

在这种情况下,您将需要使用过滤功能

class func GetPosesById(Id: int) -> YogaPose?{
    return listPoses.filter({ $0.id == Id }).first
}

基本上,过滤器函数将循环遍历整个listPoses并返回[YogaPose].代码({$0.id == ID})是你的条件,$0表示循环中的当前对象.

我也稍微改变了你的功能签名

class func GetPosesById(Id: int) -> YogaPose

class func GetPosesById(Id: int) -> YogaPose?

因为第一个属性一个可选对象,您需要在以后解包

大佬总结

以上是大佬教程为你收集整理的数组 – Swift – 按属性获取数组中的对象全部内容,希望文章能够帮你解决数组 – Swift – 按属性获取数组中的对象所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。