代码之家  ›  专栏  ›  技术社区  ›  Slee

nspredicate导致exc_bad_访问-但仅用于设备上的释放配置

  •  0
  • Slee  · 技术社区  · 14 年前

    我的应用程序在模拟器中的任何配置和设备上的调试配置下都能很好地工作,但当我创建一个nspredicate时,它会在一个fetch请求上崩溃。

    这是违规代码:

    - (void)searchBar:(UISearchBar *)theSearchBar textDidChange:(NSString *)searchText {
        //some fetch request code code
    
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ItemSKU CONTAINS[c] %@ OR ProductName CONTAINS[c] %@", searchText];
    
        // more code
    }
    

    如果我删除这一行,一切都会很好地工作,但是我必须有这个谓词。

    1 回复  |  直到 14 年前
        1
  •  5
  •   jer    14 年前

    为什么只有两个格式说明符,其中一个只有值?它会崩溃,因为这不是定义的行为;如果你提供两个 %@ 格式说明符,给定 searchText 还有别的,否则你会撞车的。