在Objective-C中,我们可以知道是否正在使用宏为设备或模拟器构建应用程序:
#if TARGET_IPHONE_SIMULATOR
// Simulator
#else
// Device
#endif
Run Code Online (Sandbox Code Playgroud)
这些是编译时宏,在运行时不可用.
我怎样才能在Swift中实现同样的目标?我搜索了堆栈溢出,看了一下docs并且无法搞清楚.
有Swift相当于NSLocalizedString(...)
?在Objective-C
,我们通常使用:
NSString *string = NSLocalizedString(@"key", @"comment");
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Swift中实现同样的目标?我发现了一个功能:
func NSLocalizedString(
key: String,
tableName: String? = default,
bundle: NSBundle = default,
value: String = default,
#comment: String) -> String
Run Code Online (Sandbox Code Playgroud)
但是,它很长并且根本不方便.
我有一个像这样的网址 myApp://action/1?parameter=2&secondparameter=3
通过属性查询,我得到了我的部分内容 URL
parameter=2&secondparameter=3
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以把它放在一个NSDictionary
或一个Array
?
多谢
我发现它UIButtons
不能很好地工作SKScene
,所以我试图子类化SKNode
来制作一个按钮SpriteKit
.
我希望它工作的方式是,如果我初始化一个按钮SKScene
并启用触摸事件,那么按钮将在我SKScene
按下时调用我的方法.
我很感激任何能让我找到解决这个问题的建议.谢谢.
init
故事板调用哪种方法UIViewControllers
添加到故事板?
有一个Xcode7 beta
名为as的新控件Storyboard Reference
.下面是它的图像.
它的描述如下
为外部故事板中的视图控制器提供占位符.连接到此占位符的Segues将在运行时实例化引用的视图控制器.
所以问题是
是否Xcode
有一个区域,我可以打开一个终端shell会话内 Xcode
?Android Studio
有一个窗口,你可以在控制台logcat
窗口的底部打开,它将启动一个终端会话.有Xcode
这样的事吗?
如何使用CGPointMake
的Swift
?有它的等价物吗?我收到一个错误:
使用未解析的标识符'CGPointMake'
基本上,我正在尝试为Sprite Kit节点分配一个位置,但无法弄清楚如何在Swift中执行此操作.
class PlayerSpaceship: Spaceship {
func launchMissile() {
var missile = Missile.playerMissile()
// This line gives above mentioned error.
missile.position = CGPointMake(0.0, 0.0)
}
}
Run Code Online (Sandbox Code Playgroud) 要在Objective-C中定义类别位掩码枚举,我曾经输入:
typedef NS_OPTIONS(NSUInteger, CollisionCategory)
{
CollisionCategoryPlayerSpaceship = 0,
CollisionCategoryEnemySpaceship = 1 << 0,
CollisionCategoryChickenSpaceship = 1 << 1,
};
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现相同的使用Swift
?我尝试了枚举,但无法使其正常工作.这是我到目前为止所尝试的.
ios ×8
objective-c ×4
swift ×4
sprite-kit ×3
iphone ×2
xcode ×2
bit-masks ×1
cgpoint ×1
idfa ×1
ios5 ×1
localization ×1
nsurl ×1
storyboard ×1
tvos ×1
uibutton ×1
xcode7 ×1