最近 Swift 有一个名为 move for Arrays 的新方法。我们可以使用它来配合 Swiftui 列表拖放列表移动。我的挑战是我不明白它是如何独立工作的,而且苹果公司的文档对此也很少。这是我在使用这个函数时注意到的一个奇怪的行为。
var array = ["a", "b" ,"c", "d"]
print("before \(array)\n")
array = ["a", "b" ,"c", "d"]
array.move(fromOffsets: IndexSet(integer: 2), toOffset: 1)
print("after 2 -> 1 \(array)")
array = ["a", "b" ,"c", "d"]
array.move(fromOffsets: IndexSet(integer: 1), toOffset: 2)
print("after 1 -> 2 \(array)")
array = ["a", "b" ,"c", "d"]
array.move(fromOffsets: IndexSet(integer: 2), toOffset: 2)
print("after 2 -> 2 \(array)")
Run Code Online (Sandbox Code Playgroud)
结果是:
after 2 -> 1 ["a", "c", "b", "d"]
after 1 -> 2 ["a", …Run Code Online (Sandbox Code Playgroud) 假设用户没有静音他们的手表声音.苹果手表应用程序是否有可能在没有伴音的情况下触发触觉反馈(即振动).
这与收到手表自动处理的通知不同.在这种情况下,我正在使用手表应用程序调用触觉反馈.
像这样:[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeClick];
我正在尝试在客户端计算机上调试问题.问题是问题是一个运行时错误,关于它的位置几乎没有线索.这是一个间歇性的问题.我知道ADL允许我以调试模式运行应用程序.问题是告诉用户下载和管理ADL调用将是非常困难的.如果我能给最终用户安装和运行一个安装/可执行文件然后向我发送问题的痕迹,那将会容易得多.所以我正在寻找的是客户端能够在调试模式下运行AIR应用程序的简单步骤.下载ADL并找到应用程序的安装位置将很难与最终用户远程管理.
更新:您必须确保使用AIR 3.5和Flash 11.5,并在其他编译器设置中包含以下标志"-swf-version = 18".然后,您必须捕获答案中提到的全局错误,它将显示错误的位置.当然没有行号.只是常规名称.感谢李先生给李的答案.
我已经读过,我们现在可以在watchos 3中的苹果手表上播放自定义声音.
根据苹果的声明显然有,但我没有一个例子来测试它:使用SCNAudioSource或SCNAudioPlayer实现的3D空间音频.相反,使用playAudioSource:waitForCompletion:或WatchKit声音或触觉API.在此处找到:https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInwatchOS/Articles/watchOS3.html
有人可以举一个简单的例子.我没有在我的应用程序中使用SceneKit,因为我不需要它,但如果这是播放自定义声音的唯一方法,那么我想知道完成此操作所需的最少代码.最好是在目标c中,但我会把它带到任何形状.如果这也更容易,我可以使用SpriteKit.
这是我到目前为止所做的,但它不起作用:
SCNNode * audioNode = [[SCNNode alloc] init];
SCNAudioSource * audioSource = [SCNAudioSource audioSourceNamed:@"mysound.mp3"];
SCNAudioPlayer * audioPlayer = [SCNAudioPlayer audioPlayerWithSource:audioSource];
[audioNode addAudioPlayer:audioPlayer];
SCNAction * play = [SCNAction playAudioSource:audioSource waitForCompletion:YES];
[audioNode runAction:play];
Run Code Online (Sandbox Code Playgroud) 新版本AIR使我们能够全局捕获运行时错误并处理它们.问题是除了错误ID和错误消息和名称之外,它没有堆栈跟踪或有关错误的任何有用信息.例如,它可能告诉我发生了空指针异常,但它不会告诉我在哪里或哪个方法或任何东西.运行时的调试版本为我们提供了所有这些,但是当应用程序部署到客户时,它没有在调试版本上运行,因此没有任何有用的信息可用.我想知道这个小组是否有任何关于如何在AIR应用程序中更好地记录错误的建议,以便更好地支持产品.有什么建议?
我有一个按钮,它已经连接到 InterfaceBuilder 中以显示一个模态界面控制器。在某些情况下,我想以编程方式触发此转换,但我找不到在 Watchkit 中执行相同转场的方法。我知道您可以在 iphone/iOS 中执行此操作,但到目前为止我无法在 Watchkit 中找到它。
air ×2
apple-watch ×2
watchkit ×2
adobe ×1
apache-flex ×1
arrays ×1
audio ×1
debugging ×1
global ×1
ios ×1
segue ×1
sprite-kit ×1
stack-trace ×1
swift ×1
swiftui ×1
watchos-3 ×1