是否可以使用the minhook library将scrollview.delegate = self //assign
class testClass: UIViewController, UIScrollViewDelegate // conform
类型转换为func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let pageNumber = round(scrollView.contentOffset.x / scrollView.frame.size.width)
if pageNumber == 3{
// hide your label here
}
// do you logic related to last page
}
?
std::result::Result
minhook::Hook
返回test =
unsafe {
minhook::Hook::<fn(f32, *mut UserCmd) -> bool>::create::<fn(f32, *mut UserCmd) -> bool>(hook_createmove, fn_ptrs.addy)
} as minhook::Hook<fn(f32, *mut UserCmd) -> bool>;
正如你所看到的,这给了我非标量的演员问题。这有解决方法吗?
答案 0 :(得分:3)
Result<T, E>
是表示Rust中操作成功或失败的标准类型。它的声明大致如下:
enum Result<T, E> {
Ok(T),
Err(E),
}
任何可能以相当可恢复的方式失败的函数(例如:尝试打开不存在的文件或读取损坏的JSON文件时发生解析错误)通常会返回Result
。另请参阅What's the benefit of using a Result?。
您应该不尝试重新解释结果对象。铸造是不可能的,你绝对不应该使用嬗变。相反,你应该总是(我的意思是总是)使用适当的方法来处理它们。指出结果处理的几个例子:
要断言检索肯定结果(T
类型的对象),请使用unwrap()
方法。如果结果出错,程序将会发生混乱。当您确定在该特定情况下不会发生错误,或者当您确实希望程序在发生时终止时,通常会使用此方法。
在其他一些情况下,您希望从函数中传播错误。使用?
operator。
Rust编程语言提供了关于Error Handling的综合部分,强烈鼓励Rust开发人员理解这些概念。