小编Sha*_*Asi的帖子

iOS 内存泄漏,内存图调试器未显示泄漏,但同时 Xcode-Instruments-leaks 显示泄漏

在此处输入图片说明在我的项目中当我开始在内存图调试器中寻找泄漏时,我发现很少并修复了它们,现在使用内存图没有发现泄漏。Instruments->leaks 的问题,有时显示泄漏,有时不显示,泄漏立即从照片中描述的开始出现,我几乎不明白导致泄漏的原因。如果内存图显示没有泄漏,我可以相信吗?或者存在一种内存图未捕获的泄漏。代码如何初始化 mainViewController:

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    self.window = UIWindow()
    
    let controller = MainViewController()
    let navigationController = UINavigationController(rootViewController: controller)
    let rootViewController = navigationController
    self.window?.rootViewController = rootViewController
    self.window?.makeKeyAndVisible()
           
    return true
        
}
Run Code Online (Sandbox Code Playgroud)

memory-leaks ios xcode-instruments swift memory-graph-debugger

3
推荐指数
1
解决办法
643
查看次数

如何在 Swift 中调用一个接受函数指针参数的函数?

根据苹果文档:

当调用一个接受函数指针参数的函数时,你可以传递一个顶级 Swift 函数、一个闭包字面量或 nil。

我已经从 Apple 文档中尝试过这个例子:Apple Developer

func customCopyDescription(_ p: UnsafeRawPointer?) -> Unmanaged<CFString>? {
    // return an Unmanaged<CFString>? value
}

var callbacks = CFArrayCallBacks(
    version: 0,
    retain: nil,
    release: nil,
    copyDescription: customCopyDescription,
    equal: { (p1, p2) -> DarwinBoolean in
        // return Bool value
}
)  
Run Code Online (Sandbox Code Playgroud)

但我在 Xcode 中收到一条错误消息:(copyDescription:customCopyDescription 错误)

AC 函数指针只能由对“func”或文字闭包的引用构成

正如在苹果文档中提到的,customCopyDescription 可以作为顶级 swift 函数传递,但文档中似乎有些问题。

如何将 customCopyDescription 函数作为 swift 函数(不是闭包文字)传递给 CFArrayCallBacks ?

pointers function-pointers ios swift

2
推荐指数
1
解决办法
1164
查看次数