怎么将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.. 我们可以解决这个问题还是我走错了方向。

【问题讨论】:

这里变量helloBool类型。您需要将View 传递给方法showPopover 你需要使用UIPopoverPresentationControllerDelegate方法来显示popOver 你能编辑我的代码并评论你想说什么吗? 好的,我将提供我的代码。你想在iPhoneiPad 中显示弹出框吗? 错误很明显——你在编码时犯了一个逻辑错误。不要将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' 类型的值转换为预期参数”

无法将 Int 类型的值转换为预期的参数类型 Bool

C++怎么将 CString 转换成 unsigned char 的数组

Core Data + SwiftUI:无法将“Bool”类型的值转换为预期的参数类型“Binding<Bool>”

搜索栏在 swift 3 中不起作用。无法将类型 (_) -> Bool 的值转换为预期的参数类型 NSPredicate