title: If filter returns nil, how do I not return empty result?
body: <p>I'm doing the following filtering that returns a recipe list, filtered by given category name value.</p>
  
  <pre><code>filteredRecipe = filteredRecipe.filter({
      if let category = $0.valueForKey("category") as? NSManagedObject {
          if let name = category.valueForKey("name") as? String {
              return name.rangeOfString(cap) != nil
          } else {
              return false
          }
      } else {
          return false
      }
  })
  </code></pre>
  
  <p>This filter works in association with searchBar textfield so I will possibly have random value in the textfield which will make <code>filteredRecipe</code> to hold unreliable data.</p>
  
  <p>I need to make sure when the filter can't find any recipe from <code>filteredRecipe</code> with given category name value, I leave <code>filteredRecipe</code> untouched.
  Currently, when there is no match, it makes <code>filteredRecipe</code> empty array <code>[]</code>. I'm not sure what part causes this.</p>