在Swift中将数字数组的特定索引与Int变量进行比较

时间:2019-07-17 05:26:08

标签: ios swift

我正在发展的逻辑, 书籍页面和自由页面数组索引之间的比较。

freePageArr = ["1", "5", "6", "12", "14", "15"]

self.bookPage = 1
func checkingPay(_ bookPage: Int) {
        let freePage = bookDetail?.bookFreePageList
        let freePageArr = freePage?.components(separatedBy: ",")

        //fail logic....
        if <<I need code..!!>> {
            print("Hello!! Free Page.")
            print("currentPage :", self.bookPage)

        } else {
            print("Sorry!! Paid Page.")
            print("CurrentPage :", self.bookPage)
        }
    }

如果空闲pageArr的值与self.bookPage的值相同,则打印print (" Hello !! Free Page. ")

如果空闲的pageArr索引的值与self.bookPage的值不同,我要打印print (" Sorry !! Paid Page. ")日志。

2 个答案:

答案 0 :(得分:1)

您只需在contains(_:)上使用 freePageArr 来检查其中是否存在bookPage

此外,由于components(separatedBy:)给出了array的{​​{1}},因此您需要使用 String将其转换为Int array 匹配其中的compactMap(_:)bookPage

Int

答案 1 :(得分:0)

您的数组的页数为String,而您的bookPage的值是字符串类型的,因此您可以将Int的值转换为字符串,然后,您可以查看数组。

func checkingPay(_ bookPage: Int) {
    if let freePage = bookDetail?.bookFreePageList {
        let freePageArr = freePage.components(separatedBy: ",")

        if freePageArr.contains("\(bookPage)") {
            print("Hello!! Free Page.")
            print("currentPage :", bookPage)

        } else {
            print("Sorry!! Paid Page.")
            print("CurrentPage :", bookPage)
        }
    }
}