如何将@IValue CGFloat转换为Int?
我不断得到cannot convert @IValue CGFloat to Integer以下:
@IBOutlet var userObject : UIImageView
func returnYPosition(yPosition: Integer) -> Integer {
return userObject.center.y
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试NSTimer在我的应用程序中使用,并且想知道在计时器触发时是否可以调用两种方法.
这是代码:
gameTimer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector:
Selector("gameMovement" && "fireBullet"), userInfo: nil, repeats: true)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,说Selector中有两个参数.
我有两个 objc .m 类,我们将它们称为controller1.m 和controller2.m。在controller1.m和controller2.m中我都有UIAlertController的实例,如下所示:
控制器1.m
@implementation controller1
UIAlertController *alertController;
//more code
@end
Run Code Online (Sandbox Code Playgroud)
控制器2.m
@implementaion controller2
UIAlertController *alertController;
//more code
@end
Run Code Online (Sandbox Code Playgroud)
当我尝试构建项目时,出现错误
链接器命令失败,退出代码为 1(使用 -v 查看调用)
错误日志看起来像这样
duplicate symbol _alertController in:
/Users/.../Xcode/DerivedData/AppName-cdtbqibmmbsosrdeyqughefeazaa/Build/Intermediates/AppName.build/Debug-iphonesimulator/AppName.build/Objects-normal/x86_64/controller1.o
/Users/.../Xcode/DerivedData/AppName-cdtbqibmmbsosrdeyqughefeazaa/Build/Intermediates/AppName.build/Debug-iphonesimulator/AppName.build/Objects-normal/x86_64/controller2.o
Run Code Online (Sandbox Code Playgroud)
我现在更改了实例变量的名称并且它有效......为什么我必须这样做?Xcode 是否意识到这些变量以相同的方式使用(由于它们的名称),并且我应该以某种方式在全局范围内声明它们?
在使用Apple的SpriteKit查看教程冒险游戏的源代码时,我一直看到变量被声明,并且在声明它们之后有开括号和单词"in".
这是我正在使用的代码:
let rightThumbstickHandler: GCControllerDirectionPadValueChangedHandler = { dpad, x, y in
let length = hypotf(x, y)
if length <= 0.5 {
player.heroFaceLocation = nil
return
}
Run Code Online (Sandbox Code Playgroud)
就像那样,"dpad,x,y in".有谁知道它们是什么/它们用于什么?
ios ×3
swift ×3
cgfloat ×1
cocoa-touch ×1
integer ×1
nstimer ×1
objective-c ×1
sprite-kit ×1
xcode ×1