小编Leo*_*bus的帖子

以编程方式更改NSSlider值

有没有办法制作NSSlider的IBOutlet,然后能够以编程方式更改其值?slider.value =......不起作用.

谢谢!

macos xcode cocoa objective-c nsslider

10
推荐指数
2
解决办法
7861
查看次数

如何使用Swift检查macOS应用程序的复选框的状态

任务似乎相对简单,我想要一个if语句来确定复选框是否被检查或者显然没有复选框但是我不知所措

我试过了

如果checkbox.state == everythign我可以想到但它总是错误EXC_BAD_INSTRUCTION或使用错误的cant转换变量类型到其他变量类型

macos checkbox xcode nsbutton swift

9
推荐指数
1
解决办法
6577
查看次数

计算iOS Swift的总行进距离

如何计算在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)

xcode core-location cllocation ios swift

9
推荐指数
2
解决办法
1万
查看次数

如何使用UserDefaults保存UIColor?

我正在尝试编写代码,以便用户按下夜间按钮时,如果用户关闭应用程序,背景将变为黑色并保持黑色.(白天模式也一样.)

请注意:我已经编码了按钮,当他们按下按钮时,所有场景都会改变为该模式.

这是我的代码,我将需要保存背景颜色:(我在两个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)

nsuserdefaults nskeyedarchiver ios sprite-kit swift

9
推荐指数
1
解决办法
2600
查看次数

Swift 3 - 比较两个日期时不明确地使用<运算符

在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)

但它返回相同的顺序.

显然我找到了解决方法,但我很好奇为什么会这样.

nsdate ios swift swift3

9
推荐指数
1
解决办法
4163
查看次数

在swift 5枚举中使用@unknown默认值:如何抑制“将永远不会执行默认值”警告?

假设我有如下现有代码:

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

所以问题是,我如何将来验证我的枚举,以便可以:

  1. 详尽地处理所有当前枚举的情况,并且
  2. 对未来的未知案例具有默认的处理机制,并且
  3. 仅当添加了新的案例并且这些案例必须由默认案例处理时,才显示警告。

也就是说,以下代码不应发出警告:

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)

enums warnings swift swift-playground swift5

9
推荐指数
1
解决办法
1007
查看次数

如何在UILabel中显示替代密码字符?

我需要显示UITableView包含用户帐户凭据的内容.对于这一点,我使用UILabelsUITableViewCell.当我显示他们的密码时,我显然只想显示一个占位符密码而不是他们的实际密码,类似于UITextField设置为安全文本输入模式的时候.事实上,我想使用与使用相同的字符UITextField,而不是'*'.

我的问题是,UITextField当它处于安全模式时,密码字符的字符代码是什么?

objective-c ios

8
推荐指数
2
解决办法
9464
查看次数

当NSMenu在Swift中打开时,NSTimer不会触发

我有一个计时器,一旦它关闭就会运行以重启警报.

alarm = NSTimer.scheduledTimerWithTimeInterval(
    60 * minutesConstant + secondsConstant,
    target:self,
    selector: Selector("endSession"),
    userInfo: nil,
    repeats:false)
Run Code Online (Sandbox Code Playgroud)

它的选择器函数设置一个模式标志,并调用原始函数,用新的分钟和秒常量设置警报,并发送会话已重新启动的用户通知.

我有一个菜单项,可以使用剩余时间进行更新

在此输入图像描述

所以我一直打开它来检查我的闹钟确实重启,并且一旦它达到零就会显示通知.它可以工作,但是当我打开菜单并且它降到零时它只停留在0:00并且计时器不会触发,直到我点击菜单,此时它立即显示通知并重置计时器.

当菜单打开时,如何强制定时器触发?这不是什么大不了的事,但我不希望用户与会话混淆,如果他们看到计时器停机就会挂起.

macos xcode nstimer nsrunloop swift

8
推荐指数
1
解决办法
1379
查看次数

不可调整大小的窗口swift

我有一个NSViewController名字Hardness,我不需要让用户调整它.当然,我可以在每次用户尝试时重新调整它,但有没有办法让用户打开一个窗口全屏,或者拉伸窗口?

macos nswindow nsviewcontroller window-resize swift

8
推荐指数
3
解决办法
5784
查看次数

如何在不知道Swift3中的用户名的情况下获取用户主目录路径(Users /"user name")

我正在编写一个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()

swift swift3

8
推荐指数
2
解决办法
5728
查看次数