有没有办法制作NSSlider的IBOutlet,然后能够以编程方式更改其值?slider.value =......不起作用.
谢谢!
任务似乎相对简单,我想要一个if语句来确定复选框是否被检查或者显然没有复选框但是我不知所措
我试过了
如果checkbox.state == everythign我可以想到但它总是错误EXC_BAD_INSTRUCTION或使用错误的cant转换变量类型到其他变量类型
如何计算在Swift中使用CoreLocation的总行程距离
到目前为止,我还没有找到任何有关如何在Swift for iOS 8中执行此操作的资源,
您如何计算自开始追踪您的位置以来移动的总距离?
从我到目前为止所读到的,我需要保存点的位置,然后计算当前点和最后一点之间的距离,然后将该距离添加到totalDistance变量
Objective-C对我来说是非常陌生的,所以我无法解决swift语法问题
这是我到目前为止所做的,不确定我是否做得对.虽然该distanceFromLocation方法返回所有0.0所以显然有些错误
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
var newLocation: CLLocation = locations[0] as CLLocation
oldLocationArray.append(newLocation)
var totalDistance = CLLocationDistance()
var oldLocation = oldLocationArray.last
var distanceTraveled = newLocation.distanceFromLocation(oldLocation)
totalDistance += distanceTraveled
println(distanceTraveled)
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写代码,以便用户按下夜间按钮时,如果用户关闭应用程序,背景将变为黑色并保持黑色.(白天模式也一样.)
请注意:我已经编码了按钮,当他们按下按钮时,所有场景都会改变为该模式.
这是我的代码,我将需要保存背景颜色:(我在两个if语句中都需要它)
if GlobalData.dayBool == true && GlobalData.night == false {
backgroundColor = GlobalData.dayColor
}
if GlobalData.nightBool == true && GlobalData.dayBool == false {
backgroundColor = GlobalData.nightColor
}
Run Code Online (Sandbox Code Playgroud)
我的日夜色彩:
struct GlobalData {
static var score = 0
static var dayColor = UIColor(red:0.93, green:0.93, blue:0.93, alpha:1.0)
static var nightColor = UIColor(red:0.10, green:0.10, blue:0.10, alpha:1.0)
static var dayBool = true
static var nightBool = true
}
Run Code Online (Sandbox Code Playgroud) 在swift中比较两个日期时,我可以比较使用>,但不能<.startTime,endTime和Date()都是Date类型(以前是NSDate)
//Broken Code
if Date() >= startTime && Date() < endTime
{
...
}
Gives ambiguous use of < operator error
//Working Code
if Date() >= startTime && endTime > Date()
{
...
}
Run Code Online (Sandbox Code Playgroud)
这是不是有效的特定原因?
我在尝试查找苹果文档时实际上找到了这个例子,他们实际上使用了这个代码 http://www.globalnerdy.com/2016/08/29/how-to-work-with-dates-and-times-in -swift -3-部分-3-日期算术/
我开始想知道是否可能是使用&&运算符,或者可能仅仅是订单的问题,但是甚至将代码本身作为
if startTime < endTime {...}
Run Code Online (Sandbox Code Playgroud)
但它返回相同的顺序.
显然我找到了解决方法,但我很好奇为什么会这样.
假设我有如下现有代码:
enum SomeEnumCases {
case existing
case alreadyExisting
}
func doSomething(withEnums enumCase: SomeEnumCases) {
switch enumCase {
case .existing:
print("This case was already existing")
case .alreadyExisting:
print("This case was already existing too...")
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果要为枚举添加新的大小写,则上面的函数将显示一个编译错误,表明切换大小写必须是详尽无遗的,并且我将被迫处理新的丢失大小写。我会在switch语句中添加第三种情况,或添加默认语句。
现在,为了处理这种无法预料的枚举案例,我想@unknown default在上面的现有函数中添加一个案例。唯一的问题是,现在这将给我警告Default will never be executed。
所以问题是,我如何将来验证我的枚举,以便可以:
也就是说,以下代码不应发出警告:
enum SomeEnumCases {
case existing
case alreadyExisting
}
func doSomething(withEnums enumCase: SomeEnumCases) {
switch enumCase {
case .existing:
print("This case was already existing")
case .alreadyExisting:
print("This case was already existing …Run Code Online (Sandbox Code Playgroud) 我需要显示UITableView包含用户帐户凭据的内容.对于这一点,我使用UILabels在UITableViewCell.当我显示他们的密码时,我显然只想显示一个占位符密码而不是他们的实际密码,类似于UITextField设置为安全文本输入模式的时候.事实上,我想使用与使用相同的字符UITextField,而不是'*'.
我的问题是,UITextField当它处于安全模式时,密码字符的字符代码是什么?
我有一个计时器,一旦它关闭就会运行以重启警报.
alarm = NSTimer.scheduledTimerWithTimeInterval(
60 * minutesConstant + secondsConstant,
target:self,
selector: Selector("endSession"),
userInfo: nil,
repeats:false)
Run Code Online (Sandbox Code Playgroud)
它的选择器函数设置一个模式标志,并调用原始函数,用新的分钟和秒常量设置警报,并发送会话已重新启动的用户通知.
我有一个菜单项,可以使用剩余时间进行更新

所以我一直打开它来检查我的闹钟确实重启,并且一旦它达到零就会显示通知.它可以工作,但是当我打开菜单并且它降到零时它只停留在0:00并且计时器不会触发,直到我点击菜单,此时它立即显示通知并重置计时器.
当菜单打开时,如何强制定时器触发?这不是什么大不了的事,但我不希望用户与会话混淆,如果他们看到计时器停机就会挂起.
我有一个NSViewController名字Hardness,我不需要让用户调整它.当然,我可以在每次用户尝试时重新调整它,但有没有办法让用户打开一个窗口全屏,或者拉伸窗口?
我正在编写一个func来编辑Users/johnDoe目录中的文本文件.
let filename = "random.txt"
let filePath = "/Users/johnDoe"
let replacementText = "random bits of text"
do {
try replacementText.write(toFile: filePath, atomically: true, encoding: .utf8)
}catch let error as NSError {
print(error: + error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
但我希望能够拥有普遍的道路.就像是
let fileManager = FileManager.default
let downloadsURL = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first! as NSURL
let downloadsPath = downloadsURL.path
Run Code Online (Sandbox Code Playgroud)
但对于JohnDoe文件夹.我无法找到有关如何执行此操作的任何文档.我能找到的最接近的东西是使用NSHomeDirectory().而且我不确定如何在这种情况下使用它.
当我尝试添加它...
let fileManager = FileManager.default
let downloadsURL = FileManager.default.urls(for: NSHomeDirectory, in: .userDomainMask).first! as NSURL
let downloadsPath = downloadsURL.path
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
"无法将'String'类型的值转换为预期的参数类型'FileManager.SearchPathDirectory'"
我试过了.NSHomeDirectory,.NSHomeDirectory(),NShomeDirectory,NShomeDirectory()