我可以在 Swift 中使用啥来代替“for”

Posted

技术标签:

【中文标题】我可以在 Swift 中使用啥来代替“for”【英文标题】:What can i use instead of 'for' in Swift我可以在 Swift 中使用什么来代替“for” 【发布时间】:2018-11-03 22:46:52 【问题描述】:

我有一个非常初级的问题。

首先,我有一个带有属性(名称)的实体(人)。

我想将名称属性提取到一个数组中以从中选择一个 randomElement。以下代码成功将数据返回到单独的数组中:

    let appDelegate = UIApplication.shared.delegate as! AppDelegate
    let context = appDelegate.persistentContainer.viewContext
    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")
    request.returnsObjectsAsFaults = false

    var myArray: [String]?

    do 

        let results = try context.fetch(request)

        for result in results as! [NSManagedObject] 

            if let username = result.value(forKey: "name") as? String 
                myArray = [username]
                print(myArray!)
            
        
    
    catch 
        print("not successful")
    

我可以用什么来代替“FOR”?怎么做?

非常感谢,对于我的 soo 初学者问题,我们深表歉意。

【问题讨论】:

您的代码在myArray 留下一个用户名 - 最后一个。 您的实际问题是什么?为什么不想使用for?您使用其他东西的目标是什么? 使用 myarray= results.map 【参考方案1】:

您可以转换为实际的实体名称

var myArray = [String]()

do 
       let results = try context.fetch(request)
       myArray  = (results as! [Person]).compactMap  $0.name   
       print(myArray) 

catch 
    print("not successful")

【讨论】:

以上是关于我可以在 Swift 中使用啥来代替“for”的主要内容,如果未能解决你的问题,请参考以下文章

在 MS Visual Studio 2013 中,我可以使用啥来代替 std::aligned_alloc?

我可以使用啥来代替箭头运算符`->`?

在 CSS3 中使用啥来代替 CONTAINS()

人们在 Windows 8 中使用啥来代替 IMultiValueConverters?

在 iOS7 中,我应该使用啥来代替已弃用的 GKLeaderboardViewController?

我应该使用啥来代替 clutter_score_new?