ios - 我实现了它在初始阶段工作的 iOS 委托方法
问题描述
本机脚本版本 5.1.1
Xcode 10 及更高版本,Mojave 操作系统
SearchBar 加载函数
//Delegate Method Call
let delegate = MallSearchDelegate.initWithOriginalDelegate((<any>this.searchbar)._delegate);
(<any>this.searchbar)._delegate = delegate;
代表班
export class MallSearchDelegate extends NSObject{
public static ObjCProtocols = [UISearchBarDelegate];
private _originalDelegate:UISearchBarDelegate;
public static initWithOriginalDelegate(originalDelegate: UISearchBarDelegate):MallSearchDelegate{
let delegate = <MallSearchDelegate>MallSearchDelegate.new();
delegate._originalDelegate = originalDelegate;
console.log("Initialized SearchBar");
return delegate;
}
public searchBarTextDidEndEditing(searchBar: UISearchBar):void{
console.log("endSearch");
if(((<any>this._originalDelegate)._owner)!=undefined){
const owner = (<WeakRef<SearchBar>>(<any>this._originalDelegate)._owner).get();
if (owner) {
owner.notify({
object: owner,
eventName: "endSearch",
focusable:false
});
}
}
}
public searchBarTextDidBeginEditing(searchBar: UISearchBar):void{
console.log("beginSearch");
if(((<any>this._originalDelegate)._owner)!=undefined){
const owner = (<WeakRef<SearchBar>>(<any>this._originalDelegate)._owner).get();
if (owner) {
owner.notify({
object: owner,
eventName: "beginSearch",
focusable:true
});
}
}
}
public searchBarSearchButtonClicked(searchBar: UISearchBar) {
console.log("onSubmit");
searchBar.resignFirstResponder();
if(((<any>this._originalDelegate)._owner)!=undefined){
const owner = (<WeakRef<SearchBar>>(<any>this._originalDelegate)._owner).get();
if (owner) {
owner.notify({
object: owner,
eventName: "submit"
});
}
}
}
当用户单击应用程序崩溃的搜索栏时,导航到另一个页面并返回该页面。
原因回到委托方法页面并单击搜索栏返回错误所有者未定义,这就是我添加条件检查未定义的原因。
解决方案
推荐阅读
- c++ - 为什么我的程序在线程数超过核数后性能会提升?
- docker - Rsyslog 不过滤表达式
- python - 如何使用 dnnlib.tflib.network.Network 获得中间层输出
- python - 如何在 django+fastcgi+IIS 设置中销毁资源?
- javascript - 如何找到所有可见元素中最重要的元素?(离用户最近)
- python - 优化解决回文的时间/空间复杂度
- android - Android Espresso:如何在 TextInputLayout 中嵌入的 editText 中键入文本
- git - Git rebase 不在合并基础上应用提交
- c - 在函数调用中获取 Malloc() 损坏的顶部大小
- python - 使用python将文本数据解析为JSON格式