gpt4 book ai didi

ios - 如何在函数中使用 OpaquePointer?

转载 作者:行者123 更新时间:2023-11-30 12:03:13 24 4
gpt4 key购买 nike

我在我的项目中使用一个框架,并且对于一个功能,它需要一个 OpaquePointer!。

我应该设置哪个 OpaquePointer 以及如何设置?

下面的答案,如何设置不透明,被 xcode 接受,但是当您将 selfsession! 放入其中时,即使您将 试试?在前面。

如果可能的话,我更喜欢使用 Swift,否则就使用 Objective-C。

我想使用的功能:

session?.attemptConnection(withSessionPointer: <#T##OpaquePointer!#>)  //Session is a variable where I set the Usern/Passw IP and stuff like that.

我正在使用的框架:TOSMBClient from CocoaPods

这是 Swift 渲染:

- (NSError *)attemptConnectionWithSessionPointer:(smb_session *)session;
- (NSError *)attemptConnection; //This also exists in the Framework and would be ideal, but doesn't work at all. So it doesn't recognize it.

According to the GitHub Docs, I don't need a SessionPointer at all or self should be enough, but it doesn't work.

Regarding Mohammad Sadiq Answer: Its works to put self or session in with his method, but it will always crash.

最佳答案

无论您想传递给函数什么对象,都可以使用以下转换

UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())

上面的代码会将 self 转换为 OpaquePointer。您可以转换自己的对象。在您的情况下,您需要转换并传递 session

下一点。虽然现在可能对你没用。许多这样的函数返回指针引用。在这些情况下,您可以使用

检索
let myObject = Unmanaged<ObjectClass>.fromOpaque(returnedReference!).takeUnretainedValue()

关于ios - 如何在函数中使用 OpaquePointer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46960747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com