小编Ste*_*ene的帖子

正确桥接ARC?

我有一个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)

objective-c automatic-ref-counting

43
推荐指数
2
解决办法
2万
查看次数

编辑开始后,关闭UISearchBar中的范围栏

我有一个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个按钮范围栏.

iphone uisearchbar uisearchdisplaycontroller ios4

4
推荐指数
1
解决办法
3239
查看次数