Swift-无法获取NSMutableArray()的元素
在我解释一切之前,让我先从我的代码开始 CardInfo\u适配器.swiftSwift-无法获取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
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语句来寻找一个特定的字符串。哇,这看起来很不错。这基本上就是我想做的。我以后再试试。谢谢