- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在我正在使用的代码的某些区域看到了这一点。
searchBar.delegate = (id<UISearchBarDelegate>)self;
我的问题是...
为什么不让当前类成为 UISearchBar
的委托(delegate)呢?通过添加 <UISearchBarDelegate>
在类的界面中?
是否存在上述代码比让类成为委托(delegate)更好的情况?
这两种方式都适合我,但我想了解为什么我可能想要使用其中一种。
最佳答案
强制转换方法可以被认为是作弊。如果委托(delegate)类不想公开声明协议(protocol)一致性(但为什么它被公开设置为委托(delegate)),则会使用它。或者如果委托(delegate)类没有实现所有必需的方法,那么声明协议(protocol)一致性将导致警告。
通常更好的方法是声明协议(protocol)一致性(公开 (.h) 或私下 (.m))。
关于ios - 什么时候使用像 (id<UISearchBarDelegate>)self 这样的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21408008/
我有一个可用的搜索栏,但突然间我什至无法激活任何委托(delegate)方法。我以编程方式创建了搜索栏。 这是我的初始化代码: self.searchBar.delegate = self
我将我的搜索栏配置为显示结果按钮,但该按钮仅在用户输入字符之前显示。此时,“X”取消按钮将取代它。所以在不输入字符的情况下,搜索结果集等于整个数据集。我希望结果按钮保留在那里,这样当用户输入了足够多的
我有一个 iPhone 应用程序,它包含一个 UITableView,顶部有一个 UISearchBar。当用户在 UISearchBar 中键入内容时,UITableView 的内容会被适本地过滤。
UITextFieldDelegate 有一个方法 - (BOOL)textFieldShouldClear:(UITextField *)textField 当用户点击那个小的 x 图标时会调用它。
我正在尝试使用 UISearchBarDelegate 的委托(delegate)函数 searchBarSearchButtonClicked。我的搜索栏位于 UITableViewControll
我在 .h 中定义了一个 UITableViewController,如下所示: @interface PartsSearchViewController : UITableViewControlle
我在我正在使用的代码的某些区域看到了这一点。 searchBar.delegate = (id)self; 我的问题是... 为什么不让当前类成为 UISearchBar 的委托(delegate)呢
我正在寻找解决这个问题的合适方法。我想在我拥有的 TableView 上实现一些简单的搜索功能。 我发现的所有示例要么使用已弃用的 UISearchDisplayController,要么使用新的 U
我一直在寻找答案,希望你能帮助我。我没有看到代码中的错误,但出于某种原因,当我按下“搜索”按钮时,UISearchBarDelegate 无法正常工作。 这是我的类(class) class Busq
我有这个错误 Redundant conformance of 'TodoListViewController' to protocol 'UISearchBarDelegate' 第 1 行的“UI
我是 Swift 的新手,我想实现搜索栏,但似乎没有太多关于如何使用 Apple 引入的新协议(protocol)正确实现搜索栏的教程。 我有一个命名元组,其中包含一些数据(名称、类别、详细信息等,它
我是一名优秀的程序员,十分优秀!