我正在制作一个游戏,其中有一个计时器显示当前会话已经过了多长时间.我已经按照几个教程阅读文档,似乎无法弄清楚为什么会返回错误.这是我的代码:
var timerT = Timer()
func startTimer () {
self.timerT = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timeFunc), userInfo: nil, repeats: true)
}
@objc func timeFunc (_ timer: Timer) {
timeS += 1
}
@IBAction func newGameAction(_ sender: UIButton) {
Timer.invalidate(timerT)
game = SetGame()
updateUIfromModel()
startTimer()
}
Run Code Online (Sandbox Code Playgroud)
很多Mahalo.
我正在使用NSUserDefaults来检索值.例如用户名.
我已经创建了一个constants.h文件,将它添加到我的viewcontroller中
#import "constants.h"
Run Code Online (Sandbox Code Playgroud)
在constants.h中 - 用户名定义为
#define USERNAME @"Monty Python"
Run Code Online (Sandbox Code Playgroud)
然后在我的viewDidLoad中,我尝试读取这样的值
NSString *userName = [[NSUserDefaults standardUserDefaults] stringForKey:USERNAME];
Run Code Online (Sandbox Code Playgroud)
但是userName总是nil/null - 我的其他键也是如此.
NSUserDefaults如何知道使用我的Constants.h文件?我的代码是否在正确的"位置"?为什么我的值总是为零 - 在调试器和NSLog中?
谢谢
我正在寻找一种方法为swift 2中的NSTimer()变量分配一个nil值.我将它用于秒表应用程序.
var timer = NSTimer()
@IBAction func stop(sender: AnyObject) {
timer.invalidate()
timer = nil
Run Code Online (Sandbox Code Playgroud)
我收到了错误
"无法指定Nil键入"NSTimer"
现在我正在尝试使用 swift 4 打印以下星形图案。
1
12
123
1234
Run Code Online (Sandbox Code Playgroud)
为此,我采取了以下方法。
for i in stride(from: 1, to: 5, by: 1) {
// prints from 1 to 4
for j in stride(from: 1, to: i, by: 1) {
print(j, separator: "", terminator: "")
}
print("*\n")
}
Run Code Online (Sandbox Code Playgroud)
但现在这将打印在输出下方。
*
1*
12*
123*
Run Code Online (Sandbox Code Playgroud)
有什么办法可以解决这个问题?
我被分配了打印 2...100 范围内的素数的任务。我已经设法获得了大部分质数,但无法弄清楚如何摆脱 9 和 15,基本上是 3 和 5 的倍数。请就如何解决这个问题给我您的建议。
for n in 2...20 {
if n % 2 == 0 && n < 3{
print(n)
} else if n % 2 == 1 {
print(n)
} else if n % 3 == 0 && n > 6 {
}
}
Run Code Online (Sandbox Code Playgroud)
这是它到目前为止打印的内容:
2
3
5
7
9
11
13
15
17
19
Run Code Online (Sandbox Code Playgroud) 我试图将int类型的简单整数传递给void方法,如下所示:
-(void)deleteGroup{
Run Code Online (Sandbox Code Playgroud)
我知道我应该这样做:
[self deleteGroup withInt: 3];
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找出正确的解决方案
对于一些人来说,我的问题可能很简单,但我对Objective C和Xcode相对较新.所以我有一个UILabel,我正在运行一个if语句,询问UILabel是否等于self.NSString然后执行...这是代码.
if (UILabel.text == self.NSString)
{
//Do Something here...
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是否有效,或者我必须做些什么才能让它开始工作.提前致谢.
如何?
.H
@property (nonatomic, strong) NSNumber *seasonRoundN;
@property (nonatomic, strong) NSString *seasonRound;
Run Code Online (Sandbox Code Playgroud)
.M
_weMeetAgain = [NSNumber numberWithInt:13];
_seasonRound = [NSString stringWithFormat:_weMeetAgain]; // incompatible :S
Run Code Online (Sandbox Code Playgroud)
应该更好地看一下参考文献:(答案如下)
_weMeetAgain = [NSNumber numberWithInt:17];
_seasonRound = [NSString stringWithFormat:@"%@", _weMeetAgain];
Run Code Online (Sandbox Code Playgroud)
求助:P,谢谢.
我正在为大学做最后的项目,我正在构建连接到蓝牙规模的应用程序,并在应用程序中显示来自规模的数据(我需要得到权重).
我构建了一个从规模获取数据的简单应用程序.我得到的值是十六进制,如果我将它们转换为十进制,它不符合我在秤上看到的实际重量.
b400b0 11 0012010f 2db43c - 69.1
b400b0 2f 0012010f 2db44b - 69.2
b400b0 19 0012010f 2db45a - 69.3
b400b0 23 0012010f 2db469 - 69.4
b400b0 46 0012010f 2db478 - 69.5
b400b0 9e 0012010f 2db487 - 69.6
b400b0 1a 0012010f 2db496 - 69.7
b400b0 1b 0012010f 2db4a5 - 69.8
b400b0 51 0012010f 2db4a5 - 69.8
b400b0 56 0112010f 2db4b4 - 69.9
b400b0 1c 0012010f 2db4c3 - 70.0
b400b0 1a 0012010f 2db4c3 - 70.0
b400b0 43 0012010f 2db4e1 - 70.2 …Run Code Online (Sandbox Code Playgroud)