对于 UISearchBar 的 textDidChange 委托方法,我遇到了一个非常奇怪的行为。这是我的代码
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
searchText = [searchText stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if (![searchText isEqualToString:@""]) {
[self searchedWithText:searchText]; // I am using this method to fetch my search results from coredata
[searchBar becomeFirstResponder]; // For making the search field active
}
}
-(void)searchedWithText:(NSString *)searchText {
// In this method the type of searchText is shown as NSTaggedPointerString and the value is nil
}
我在委托方法中为 searchBar 做了一个 po 并收到以下消息
(lldb) po searchBar
error: warning: couldn't get cmd pointer (substituting NULL): extracting data from value failed
Couldn't materialize: couldn't get the value of variable searchBar: variable not available
Errored out in Execute, couldn't PrepareToExecuteJITExpression
我的问题是我的 searchedWithText 方法中的 searchText 参数为零。所以 coredata 的结果是零。我在这里做错了什么?提前致谢