首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift UIDevice.currentDevice()未编译

Swift UIDevice.currentDevice()未编译
EN

Stack Overflow用户
提问于 2015-08-31 13:24:40
回答 2查看 1.4K关注 0票数 1

我有一个快速项目,在该项目中,我希望检索设备的名称并在UITableViewCell中显示。

但是当我想叫UIDevice.currentDevice()进来的时候

代码语言:javascript
复制
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

编译器在以下方面失败:

命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc失败,退出代码1 以下生成命令失败: CompileSwift普通arm64“项目文件夹的路径”/custom_tableview_controller.swift CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (2次失败)

尴尬的是,在我的UIDevice.currentDevice()文件之外的任何文件中调用custom_tableview_controller.swift都是有效的。

其他信息:

  • Xcode 6.4(6E35b)
  • 调试
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-02 14:23:34

我用Swift在框架中创建了get UIDevice:

创建Obj-c Header.h并添加

代码语言:javascript
复制
#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]; }

目标框架中的 ->构建阶段使以下内容成为:

目标框架中的.h添加:

代码语言:javascript
复制
#import <BSStaticObjc.h>

现在在Swift调用方法

代码语言:javascript
复制
Device()
票数 1
EN

Stack Overflow用户

发布于 2015-09-15 18:11:04

这也把我逼疯了。我不能修好它。作为一种解决办法,我创建了一个目标-C类,它仅仅是sublcasses。我的班是AWDevice。在Swift中,编译器对AWDevice.currentDevice()很满意

这真的很奇怪。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32312378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档