Swift-无法获取NSMutableArray()的元素

Swift-无法获取NSMutableArray()的元素,swift,position,nsmutablearray,element,Swift,Position,Nsmutablearray,Element,在我解释一切之前,让我先从我的代码开始 CardInfo\u适配器.swift class CardInfo_Adapter: AnyObject { var CardName: String = String() var NoResults: String = String() } 好的,我要做的是获取返回的NSMutableArray()元素的位置,该元素访问我的数据库以获取卡片名称列表 我正在检查结果是否为空 这是我首先使用的代码 returnedCard

在我解释一切之前,让我先从我的代码开始

CardInfo\u适配器.swift

class CardInfo_Adapter: AnyObject {        
    var CardName: String = String()
    var NoResults: String = String()
}
好的,我要做的是获取返回的NSMutableArray()元素的位置,该元素访问我的数据库以获取卡片名称列表

我正在检查结果是否为空

这是我首先使用的代码

returnedCardNames = NSMutableArray()
returnedCardNames = Card_Adapter.getInstance().getAllSimilarCardNamesByUserEntry("rthrthrth", passedSeriesName: "null", passedSetName: "null")

    if returnedCardNames.objectAtIndex(0) as! String == "No results found."
现在,我得到的错误是

Could not cast value of type 'AppName.CardInfo_Adapter' (0x10ce1c370) to 'NSString
我不明白的是returnedCardNames是一个NSMutableArray(),为什么它认为它是CardInfo\u适配器类型的呢

在我的swift文件中,绝对没有包含使用CardInfo_Adapter.swift的if语句

更新:以下是getAllSimilarCardNamesByUserEntry中的代码。我知道我在这一部分中使用了CardInfo_Adapter,但它不应该仍然是NSMutableArray()中的一个对象,因为我使用的是函数类型和返回值

func getAllSimilarCardNamesByUserEntry(passedCardName: String, passedSeriesName: String, passedSetName: String) -> NSMutableArray {

    let returnedSimilarNames : NSMutableArray = NSMutableArray()
    var returnedCardSet = String()

    let NoResults : CardInfo_Adapter = CardInfo_Adapter()
    NoResults.CardName = "No results found."
    print("No results found.")
    returnedSimilarNames.addObject(NoResults)
    returnedSimilarNames.removeAllObjects()
    returnedSimilarNames.addObject(NoResults)

    return returnedSimilarNames
}

我不确定您想做什么,但您可以定义
数组
您的名字:[您的类型]=[]
字符串
您的名字:字符串。您不需要在
swift
中使用
NSMutableArray

import UIKit

    class ViewController: UIViewController {

        var returnedCardNames:[CardInfo_Adapter] = []

        override func viewDidLoad() {
            super.viewDidLoad()

            var returnedCardNames = getAllSimilarCardNamesByUserEntry("rthrthrth", passedSeriesName: "null", passedSetName: "null")
            let item = returnedCardNames[0]


            if item.NoResults == "No results found." {
                // do stuff
            } else {
                // do stuff
            }
        }

        func getAllSimilarCardNamesByUserEntry(passedCardName: String, passedSeriesName: String, passedSetName: String) -> [CardInfo_Adapter] {
            var returnedSimilarNames:[CardInfo_Adapter] = []

            // you are not using this here.
            //var returnedCardSet:String!

            let NoResults = CardInfo_Adapter()
            NoResults.CardName = "No results found."
            print("No results found.")
            returnedSimilarNames.append(NoResults)
            returnedSimilarNames.removeAll()
            returnedSimilarNames.append(NoResults)

            return returnedSimilarNames
        }
    }

    class CardInfo_Adapter {
        var CardName:String!
        var NoResults:String!
    }

getAllSimilarCardNamesByUserEntry
的代码是什么?添加了我要检查的代码的裸露部分。我在实际获得搜索结果时使用了这段代码,并且可以成功地加载带有数据的TableView。我只是不知道为什么我不能使用IF语句来寻找一个特定的字符串。哇,这看起来很不错。这基本上就是我想做的。我以后再试试。谢谢