怎么将bool类型的值转换为char类型的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么将bool类型的值转换为char类型的值相关的知识,希望对你有一定的参考价值。
参考技术A 转变方法如下:unsigned char bVal; VT_UI1
short iVal; VT_I2
long lVal; VT_I4
float fltVal; VT_R4
double dblVal; VT_R8
VARIANT_BOOL boolVal; VT_BOOL
SCODE scode; VT_ERROR
CY cyVal; VT_CY
DATE date; VT_DATE
BSTR bstrVal; VT_BSTR
IUnknown FAR* punkVal; VT_UNKNOWN
IDispatch FAR* pdispVal; VT_DISPATCH
SAFEARRAY FAR* parray; VT_ARRAY|*
unsigned char FAR* pbVal; VT_BYREF|VT_UI1
short FAR* piVal; VT_BYREF|VT_I2
long FAR* plVal; VT_BYREF|VT_I4
float FAR* pfltVal; VT_BYREF|VT_R4
double FAR* pdblVal; VT_BYREF|VT_R8
VARIANT_BOOL FAR* pboolVal; VT_BYREF|VT_BOOL
SCODE FAR* pscode; VT_BYREF|VT_ERROR
CY FAR* pcyVal; VT_BYREF|VT_CY
DATE FAR* pdate; VT_BYREF|VT_DATE
BSTR FAR* pbstrVal; VT_BYREF|VT_BSTR
IUnknown FAR* FAR* ppunkVal; VT_BYREF|VT_UNKNOWN
IDispatch FAR* FAR* ppdispVal; VT_BYREF|VT_DISPATCH
SAFEARRAY FAR* FAR* pparray; VT_ARRAY|*
VARIANT FAR* pvarVal; VT_BYREF|VT_VARIANT
void FAR* byref; VT_BYREF 参考技术B bool是没法转换成cher类型的 参考技术C bool b;
Convert.ToChar(b);本回答被提问者采纳
我们能否处理错误“无法将 BOOL 类型的值转换为预期的参数 UIiew”
【中文标题】我们能否处理错误“无法将 BOOL 类型的值转换为预期的参数 UIiew”【英文标题】:Can we handle the error "Cannot convert the value of type BOOL to expected argument UIiew" 【发布时间】:2016-11-25 09:28:25 【问题描述】:我厌倦了试图弹出视图控制器并搜索每个地方,也尝试过自己。这个问题又来了,我很困惑下一步该怎么做
func showPopover(base: UIView)
let storyboard : UIStoryboard = UIStoryboard(name: "Messaging", bundle: nil)
if let viewController = storyboard.instantiateViewControllerWithIdentifier("PreferencesViewController") as?PreferencesViewController
let navController = UINavigationController(rootViewController: viewController)
navController.modalPresentationStyle = .Popover
if let pctrl = navController.popoverPresentationController
pctrl.delegate = self
pctrl.sourceView = base
pctrl.sourceRect = base.bounds
self.presentViewController(navController, animated: true, completion: nil)
我在从 UIBarButtons 中单击的任一操作中调用此方法
func optionChoosed(hello:Bool)
if (hello)
self.showPopover(hello)
它说 无法将类型 BOOL 的值转换为预期的参数 UIiew.. 我们可以解决这个问题还是我走错了方向。
【问题讨论】:
这里变量hello
是Bool
类型。您需要将View
传递给方法showPopover
。
你需要使用UIPopoverPresentationControllerDelegate
方法来显示popOver
。
你能编辑我的代码并评论你想说什么吗?
好的,我将提供我的代码。你想在iPhone
或iPad
中显示弹出框吗?
错误很明显——你在编码时犯了一个逻辑错误。不要将Bool
变量传递给showPopover
函数,而是传递对UIView
的引用。您正在使用这个UIView
作为源视图和源矩形。这显然不能是Bool
。
【参考方案1】:
class SHNewStylesViewController: UIViewController, UIPopoverPresentationControllerDelegate
var popover: UIPopoverPresentationController? = nil
//MARK: - View life cycle
override func viewDidLoad()
super.viewDidLoad()
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
//MARK: - IBActions
@IBAction func showPopover(sender: AnyObject)
let genderViewController = storyboard!.instantiateViewControllerWithIdentifier("ViewControllerTwoIdentifier") as! ViewControllerTwo
genderViewController.modalPresentationStyle = UIModalPresentationStyle.Popover
genderViewController.preferredContentSize = CGSize(width: 200.0, height: 400.0) // To change the popover size
popover = genderViewController.popoverPresentationController!
popover!.barButtonItem = sender as? UIBarButtonItem
popover!.delegate = self
presentViewController(genderViewController, animated: true, completion:nil)
//MARK: - Popover Presentation Controller Delegate methods
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle
return UIModalPresentationStyle.None
在我的例子中,showPopover 是我的条形按钮项目的IBAction
。你可以在showPopover
方法中的任何你想要的地方编写代码。
谢谢:)
【讨论】:
以上是关于怎么将bool类型的值转换为char类型的值的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 绑定布尔 if 语句(无法将类型 'Binding<Bool>' 的值转换为预期的条件类型 'Bool')
“无法将 '(String) -> Bool' 类型的值转换为预期参数”
C++怎么将 CString 转换成 unsigned char 的数组
Core Data + SwiftUI:无法将“Bool”类型的值转换为预期的参数类型“Binding<Bool>”
搜索栏在 swift 3 中不起作用。无法将类型 (_) -> Bool 的值转换为预期的参数类型 NSPredicate