Swift UIDevice.currentDevice() 未编译
Swift UIDevice.currentDevice() not compiling
我有一个 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)
-调试
这也让我发疯。我无法修复它。作为解决方法,我制作了一个 Objective-C class ,它只子类 UIDevice。我的 class 是 AWDevice
。在 Swift 中,编译器对 AWDevice.currentDevice()
很满意
这真是奇怪。
我在 Swift 的框架中为获取 UIDevice 创建了它:
创建Obj-cHeader.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]; }
在您的目标框架 -> 构建阶段中执行此操作:
在你的目标 Framework.h 添加:
#import <BSStaticObjc.h>
现在Swift调用方法
Device()
我有一个 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)
-调试
这也让我发疯。我无法修复它。作为解决方法,我制作了一个 Objective-C class ,它只子类 UIDevice。我的 class 是 AWDevice
。在 Swift 中,编译器对 AWDevice.currentDevice()
这真是奇怪。
我在 Swift 的框架中为获取 UIDevice 创建了它:
创建Obj-cHeader.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]; }
在您的目标框架 -> 构建阶段中执行此操作:
在你的目标 Framework.h 添加:
#import <BSStaticObjc.h>
现在Swift调用方法
Device()