当我CustomComponent (GKComponent)
在 Xcode SpriteKit 场景编辑器中向实体添加 a并尝试.sks
使用 a加载该文件时GKScene.init
,GKScene.rootNode
未设置。更奇怪的是,这仅发生在 iOS 13 上,而不发生在 iOS 12 上。
我有一个小精灵套件 github 项目设置,它清楚地演示了这个问题。只需在 iOS 13 模拟器上运行该应用程序即可重现该问题。https://github.com/hdsenevi/answers-gkscene-rootnode-nil-bug
如果我CustomComponent
从 SpriteKit 场景编辑器实体/精灵中删除,那么它运行良好。即:加载SKScene
到GKScene.rootNode
以供参考
import UIKit
import SpriteKit
import GameplayKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Load 'GameScene.sks' as a GKScene. This provides …
Run Code Online (Sandbox Code Playgroud) 这是我的理解
var perhapsInt : Int?
Run Code Online (Sandbox Code Playgroud)
这会自动设置为一个.None
值.以下代码片段确认(没有编译器错误)
class MyClass {
var num1: Int = 0
var num2: Int?
init(num1: Int) {
self.num1 = num1
}
}
var newClass = MyClass(num1: 5)
newClass.num1 // prints '5'
newClass.num2 // prints 'nil'
Run Code Online (Sandbox Code Playgroud)
我对可选的初始化过程的理解是否正确?如果是这样,为什么当我换num2
到时这不起作用let
.
我期待nil
使用时可选项默认的相同行为let
.我在这里错过了什么吗?
class MyClass {
var num1: Int = 0
let num2: Int?
init(num1: Int) {
self.num1 = num1
// compiler error : return from initialiser without initialising all stored properties
} …
Run Code Online (Sandbox Code Playgroud) 我正在使用React Navigation在ReactNative中构建基于标签栏的应用程序类型.
我把导航部分固定下来并正常工作.但是关于样式,我在标签栏内的StackNavigator(导航控制器)上看到一个阴影.请参考下图.
我不习惯在本机iOS应用程序上看到这种影子(我是一个尝试RN的iOS移动开发者)
经过进一步调查,我发现在ReactNavigation 中'Card.js'中指定了' shadow'属性.所以我设法解决了该问题在一些更重要的传球cardStyle像这样
cardStyle:{shadowColor:'transparent'}
综上所述,我有两个问题
问题1 为什么这是默认的行为/样式?
为了调试这个问题,我决定在Xcode中快速查看调试,发现'shadow'没有显示在那里.
问题2 为什么会发生这种情况?由于RN应用程序本质上是一个本机应用程序(在本例中为原生iOS),是不是查看调试调试这些视图相关问题的可靠方法?
ios react-native react-native-android react-native-ios react-navigation
react: 16.6.0-alpha.8af6728
react-native: 0.57.4
Run Code Online (Sandbox Code Playgroud)
Text 组件中的断字不会按照应用程序设计的方式处理带破折号的字符串。考虑到破折号,我想对整个单词进行自动换行。在换行时,整个带破折号的字符串应被视为一个单词。但是 flexbox 没有。
<TouchableOpacity style={{ width: 250, backgroundColor: 'skyblue' }}>
<Text style={styles.welcome}>This is a sample of text-with-dash incorrectly word breaking</Text>
</TouchableOpacity>
Run Code Online (Sandbox Code Playgroud)
Restult 看起来像这样:
但我希望它像这样结束(文本带破折号在单独的行上):
问题是我从在线 CMS 获取字符串,并且想要一个 flexbox 样式解决方案来解决这个问题。可能存在带有破折号的字符串可能会在一行中结束的情况,因此在这些情况下,我不想要原因的自动换行。
有没有办法在我的应用程序没有创建的照片应用程序中删除相机胶卷中的图像(和视频).我知道您无法从资产库中删除您的应用未创建的内容.但这个应用程序不在应用程序商店.它位于自助服务终端类型的环境中.所以我可以使用私有API.
那么有没有办法使用苹果公司不会批准应用程序商店的私有API来实现这一点,但是可以适用于我的情况.
谢谢.
我很清楚这可能不是提出 Zenject 问题的最佳地点。我已经在 Zenject 谷歌群组页面上发布了同样的问题。我在这里发帖是想在这里的人(不在谷歌群组中)可能会帮助我。
我有一个关于 Zenject 全局绑定的问题。
目前我的 AR 应用有几个不同的屏幕(保存为场景)。每个场景都可以单独运行,这样我就可以将其划分得很清楚。当我按下“Screen1”上的按钮时,它会加载“Screen2”等等。我正在使用一个非常基本的 AppDelegate,它包含一个 NavigationController 类,该类处理所有的 UGUI 转换,因此它可以说是一个普通的基于 iOS 导航的应用程序。我在我拥有的所有安装程序上都将 AppDelegate 作为单例注入,但是由于各个屏幕(场景)都有单独的 CompositionRoots,因此在全局范围内它们不会作为单例注入。
有没有办法做到这一点。在整个应用程序中进行单例注入但具有不同的组合根?
如果没有,如何使用全局组合根?我已按照指南中的说明创建全局组合根并将安装程序添加为预制件等等。我也从场景中删除了安装程序。但是当我玩时什么也没有发生。我在这里遗漏了一些明显的东西。
提前致谢。
我正在开发一个应用程序,允许用户将语音(以及其他内容)记录到应用程序的Documents目录中.但是当我录制语音时,我正在录制到应用程序的缓存目录,然后在用户说"好了,保存这个"之后,然后我将它复制到Documents目录.到目前为止所有这些工作.但是,如果我尝试删除缓存中的数据文件,或者当我尝试移动它时,我会遇到问题.
所以我的问题是,我是否应该将数据保留在缓存中以便iOS处理它,或者我是否需要手动删除缓存中的文件.如果是这样,我将如何去做呢.这是我到目前为止的代码(不起作用)
NSFileManager *fm = [NSFileManager defaultManager];
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSError *error = nil;
BOOL success = [fm removeItemAtPath:[NSString stringWithFormat:@"%@%@", directory, currentEntry.audioFileURL] error:&error];
if (!success || error) {
// it failed.
NSLog(@"it failed to delete!!! %@ %@", error, [error userInfo]);
} else {
NSLog(@"Deleted... yipee... !!!");
}
Run Code Online (Sandbox Code Playgroud) ios ×3
react-native ×2
swift ×2
avfoundation ×1
flexbox ×1
gameplay-kit ×1
image ×1
init ×1
ios13 ×1
iphone ×1
optional ×1
sprite-kit ×1
text ×1
text-styling ×1
word-wrap ×1
xcode ×1