2017-05-08 5 views
-7
var is_searching: String? = nil 

public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell   
{ 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath as IndexPath) as! ProductCell 

    if is_searching == true 
    { 
     cell.lblBrndname?.text=(searched_array[(indexPath as NSIndexPath).row] as AnyObject).value(forKey: "brand_name") as? String 
     cell.Pdtimg?.image = UIImage(named: icon_Array[indexPath.row]) 

    } 
    else 
    { 
     cell.lblBrndname?.text=(Specarray[(indexPath as NSIndexPath).row] as AnyObject).value(forKey: "brand_name") as? String 
     cell.Pdtimg?.image = UIImage(named: self.icon_Array[indexPath.row]) 

    } 
    return cell 

} 
+0

Was ist die Frage? – JeremyP

+1

Wie soll man vergleichen, ob ein "String" "wahr" ist oder nicht? Sie können einen 'String' nur mit einem anderen' String' vergleichen. – nayem

+0

Wie können Sie eine Zeichenfolge mit einem Bool vergleichen? –

Antwort

1

Änderungstyp von isSearching

var is_searching: Bool = false 
0

NSString hat eine boolValue Eigenschaft, die Sie verwenden können:

if let is_searching = is_searching as? NSString, 
    is_searching.boolValue == true { 
    print("String is true") 
} else { 
    print("String is not true") 

Aber auch die anderen Plakat Idee ist besser. Wenn Sie Ihren Code so umschreiben können, dass is_searching in erster Linie ein bool ist, wäre das der bessere Ansatz.

Verwandte Themen