gpt4 book ai didi

ios - Swift UIDevice.currentDevice() 没有编译

转载 作者:搜寻专家 更新时间:2023-11-01 07:31:28 25 4
gpt4 key购买 nike

我有一个 swift 项目,我想在其中检索设备的名称并显示在 UITableViewCell 中。

但是当我想调用 UIDevice.currentDevice()

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

编译器失败:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

The following build commands failed:
CompileSwift normal arm64 "path to project folder"/custom_tableview_controller.swift
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (2 failures)


尴尬的事情是在任何其他文件中调用 UIDevice.currentDevice() 而不是我的 custom_tableview_controller.swift 文件正在运行。

附加信息:
- Xcode 6.4(6E35b)
- 调试

最佳答案

我创建它是为了在 Swift 框架中获取 UIDevice:

创建Obj-c Header.h并添加

#import <UIKit/UIKit.h>

/**
* Static Current Device
* @note Can't get UIDevice CurrentDevice in Swift, Hack with obj-c
*
* @return UIDevice
*/
static UIDevice* Device() { return [UIDevice currentDevice]; }

在您的目标框架 -> 构建阶段中:

enter image description here

在您的目标 Framework.h 中添加:

#import <BSStaticObjc.h>

现在在 Swift 调用方法中

Device()

关于ios - Swift UIDevice.currentDevice() 没有编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312378/

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