我有一个NSString的类别类.
@implementation NSString (URLEncode)
- (NSString *)URLEncodedString
{
__autoreleasing NSString *encodedString;
NSString *originalString = (NSString *)self;
encodedString = (__bridge_transfer NSString * )
CFURLCreateStringByAddingPercentEscapes(NULL,
(__bridge CFStringRef)originalString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return encodedString;
}
Run Code Online (Sandbox Code Playgroud)
我是否使用ARC和新LLVM的正确桥接传输?
原始代码:
- (NSString *)URLEncodedString
NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return [encodedString autorelease];
}
Run Code Online (Sandbox Code Playgroud) 我有一个UISearchBar和它各自的搜索显示控制器通过InterfaceBuilder在xib文件中布局.搜索栏在Interface Builder中配置为"显示范围栏"未选中.但是,一旦文本输入在搜索栏中开始并显示"搜索覆盖",UISearchBar就会显示,其中Scope Bar有2个按钮,默认为"Title".
SearchBar编辑开始时,如何确保未显示范围栏?
我已经从管理搜索栏的ViewController类中尝试了这些:
- (void)viewDidLoad
{
UISearchBar *searchBar = self.searchDisplayController.searchBar;
NSLog(@"Scopebar is visible? %@", searchBar.showsScopeBar == YES ? @"YES" : @"NO");
searchBar.showsScopeBar = NO; // Doesn't seem to have an effect
}
#pragma mark - UISearchBarDelegate methods
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
[searchBar setShowsScopeBar:NO]; // doesn't seem to work either
return YES;
}
Run Code Online (Sandbox Code Playgroud)
Apple的示例代码TableSearch,一旦搜索开始,它就会显示4个按钮范围栏.