在调试区域添加表达式后:
我面临一个问题,即:当到达所需的行(通过断点)时,该值始终显示为“无效表达式”,并在控制台中记录一条消息:
(我的项目名称)的共享 Swift 状态已出现致命错误,正在被丢弃。
REPL 定义和持久名称/类型将丢失。
为了仔细检查变量是否有一个值(也作为一种解决方法来查看变量的实际值是什么),我尝试通过记录它,dump()看起来它确实有一个值。
尽管有一个解决方法 - 正如我所提到的,通过使用dump()- ,但我想知道导致此问题的原因是什么?
我不太确定这是否是 Xcode 中的一个错误;我使用的是 Xcode 版本 8.3.2。
备注:如果您不知道什么是向调试区域添加表达式,您可能需要查看此问答。
我有一个 XCode 项目,它构建了一个可执行文件 ( swift package init --type executable && swift package generate-xcodeproj)。可执行文件导入一个框架,该框架通常将消息记录到控制台,但由于该框架是由可执行文件导入的,因此不会显示日志消息。
如何Log.debug("Bla bla")在 XCode 控制台中的可执行文件调用的模块/框架内部显示日志消息 ( )?
因此,在watchOS 3.0中,您现在可以获得数字表冠的旋转.我设法在InterfaceController中使用crown IDRotate函数.但是我无法从SKScene Class中获得表冠的旋转.任何人都可以帮我这个我现在很迷茫吗?谢谢.
我正在使用Swift 3中的CoreData进行实验,并在Xcode 8 beta中遇到了一个非常奇怪的循环编译器错误.
NSFetchedResultsController需要一个泛型类型参数,AnyObject到目前为止工作正常.编译器抛出错误:
Type 'AnyObject' does not conform to protocol 'NSFetchRequestObject'
Run Code Online (Sandbox Code Playgroud)
为了让我更加困惑,如果删除type参数,XCode会说:
Reference to generic type NSFetchedResultsController requires argument in `<...>`
Run Code Online (Sandbox Code Playgroud)
并且有用地建议使用<AnyObject>....并且循环重复.
这看起来非常像一个bug.我报告之前的任何想法?
当您在Xcode中编写代码时,我遇到了代码完成下拉建议菜单的问题.以前你可以输入类似的东西:
button.frame = CGRect(
Run Code Online (Sandbox Code Playgroud)
此时您不必手动填写所有参数,代码完成建议下拉菜单应该出现并提供自动完成的建议,然后您只需点击适合您需要的那个,最终得到如下结果: (来自上面的例子)
button.frame = CGRect(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat)
Run Code Online (Sandbox Code Playgroud)
那么你所要做的就是填写参数.在我从Xcode 7.3.1更新到最新版本(Xcode 8)之后由于某种原因我失去了这个惊人的功能; 但是,Xcode仍然显示代码完成建议下拉菜单,但它不一样,它只包含我编写的变量和甚至不属于我正在编辑的对象的属性.
此外,Xcode 8.0对我来说至少不再亮点:属性,项目类名称,项目功能和方法名称,项目常量,项目类型名称,项目即时变量和全局,以及源编辑器中的一些其他类型.但是,在更新之前,关键字,字符串和数字类型仍会突出显示.
我曾尝试在"首选项"选项卡中进行修改,但我找不到可以解决这些令人沮丧的问题的选项.请帮忙!
我在尝试运行我的应用程序*时遇到错误.Xcode说" 打开请求"com.arm-tab.firebase-test"失败.服务委托(SBMainWorkspace)拒绝了请求,原因是:未指定." 重新启动模拟器无法解决此问题.
*我已经创建了用于测试Firebase的简单测试项目,使用Firebase/Auth添加了podfile,安装了该pod,在AppDelegate.m中添加了[FIRApp configure]消息.
在Xcode 8和Swift 3上出现错误+我已尝试过任何事情,但没有结果.这里的代码:
static func addNotificationInterval(title: String, body: String,
indentifier: String, interval: Double) {
let content = UNMutableNotificationContent()
content.title = NSString.localizedUserNotificationString(forKey: title, arguments: nil)
content.body = NSString.localizedUserNotificationString(forKey: body, arguments: nil)
content.sound = UNNotificationSound.default()
content.badge = UIApplication.shared.applicationIconBadgeNumber + 1; content.categoryIdentifier = "com.elonchan.localNotification"
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: interval, repeats: true)
let request = UNNotificationRequest.init(identifier: indentifier, content: content, trigger: trigger)
let center = UNUserNotificationCenter.current()
center.add(request)
print("SetNotifiInterval")
}
Run Code Online (Sandbox Code Playgroud)
错误来自+:
content.badge = UIApplication.shared.applicationIconBadgeNumber + 1; content.categoryIdentifier = "com.elonchan.localNotification"
Run Code Online (Sandbox Code Playgroud)
错误类型:
没有'+'候选人产生预期的上下文结果类型'NSNumber?'
我们的色调是白色的.我们的应用程序使用CNContactViewController.在我们使用针对iOS 8和9的Xcode 7构建的商店中的应用程序版本中,如果您是iOS 9,我们调用了CNContactViewController.后退按钮为白色,但后面有一个灰色导航栏.在我们使用针对iOS 9和10的Xcode 8进行的开发构建中,没有灰色条,因此后退按钮在白色顶部是白色的,很难看到阴影.
有没有其他人在Xcode版本/ SDK版本之间经历过CNContactViewController的导航区域已经改变的变化?在我们的应用程序中可能会有一些其他更改会影响此栏吗?
编辑:这是我们最新版本中的图像.我确实删除了一些个人信息,所以这是中间的方框,但你可以在左上方看到很难看到后退按钮.
编辑:这是我们在整个应用程序中设置颜色的方式.如果白色后退按钮也使用红色的条形色调而不是任何东西,那么白色后退按钮就不会出现问题
UINavigationBar.appearance().barTintColor = UIColor.red
UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
Run Code Online (Sandbox Code Playgroud)
我们使用的代码将其推送到具有红色条和白色按钮的现有导航控制器:
let ucvc = CNContactViewController(forUnknownContact: contact)
ucvc.delegate = self
ucvc.allowsEditing = true
ucvc.allowsActions = true
ucvc.alternateName = name()
ucvc.contactStore = CNContactStore()
self.navigationController?.pushViewController(ucvc, animated: true)
Run Code Online (Sandbox Code Playgroud) 我有一个包含数据的数据库,我想在应用程序中预加载它.在swift 3之前,它可以工作,我已经按照本教程:http://www.appcoda.com/core-data-preload-sqlite-database/但是如何为swift 3加载相同的数据库?正如NSPersistentContainer我所介绍的,如何加载我项目中的.sqlite文件?
首先,我想从目前的情况开始:
1)现状:
我有一个文本文件(data.rtf)我也尝试过并且愿意使用.plist或任何其他格式来获得结果.
我一直在尝试从此文件中读取任何数据,并在Label上显示该数据.
我已经尝试预先填充文件,在读取之前保存到文件中,甚至只检查文件是否存在,但每次尝试都失败了.
在3天内,我搜索了各种指令和教程,了解如何做通常相当简单的功能.我已经使用Objective-C做了它,但我是Swift的新手,不幸的是我不得不用它进行评估而且我被卡住了.
2)障碍:
到目前为止,我所看到的每个例子都被XCode拒绝为错误的,因为使用了不再被接受的术语,如:
let path = (NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("image.png")
Run Code Online (Sandbox Code Playgroud)
或者平坦的线条根本不起作用:
let client = arrayClients[0]
DisplayLabel.text = "\(client.ob("FirstName")!) \(client.objectForKey("LastName")!)"
//DisplayLabel.text = client. <- this part doesn't work
Run Code Online (Sandbox Code Playgroud)
每个案例都以过时的代码结束工作,或者在将其更新为建议仍然有效的替换后过于屠杀.我获得代码甚至构建(删除语法错误)的唯一情况是逻辑错误,其中结果为空或者崩溃,最常见的是:
"NSCocoaErrorDomain Code = 260"无法打开文件"data.rtf",因为没有这样的文件.""没有这样的文件或目录"
我认为,即使该文件存在于我的XCode项目中,它仍在iPhone模拟器中进行搜索,并且由于某种原因它在那里不存在.这只是一个理论,我不知道如何解决这个问题.我在使用Objective-C做同样的事情时从未遇到过这个问题,如果我创建了一个文件和路径,它可以工作,但对于Swift,它只是拒绝
3)守则:
在这一点上,我对一个有效的代码更感兴趣,而不是一个不能修复的代码,因为我试图解决这个问题(以及其他与XCode更新相关的问题)已经变得如此拙劣,以至于它几乎不适合为了目的,即使我绕过这个障碍,但如果它有所帮助,我会提供"一些"我尝试的不同尝试
//"找不到文件代码":
let path = (NSTemporaryDirectory() as NSString).appendingPathComponent("data.rtf")
do {
// Get the contents
let contents = try NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue)
print(contents)
DisplayLabel.text = contents as String?
}
catch let error as NSError {
print("Ooops! let path = (NSTemp... did not …Run Code Online (Sandbox Code Playgroud)