谁能告诉我如何在Swift中将double值舍入到x个小数位?
我有:
var totalWorkTimeInHours = (totalWorkTime/60/60)
Run Code Online (Sandbox Code Playgroud)
与totalWorkTime在第二个是NSTimeInterval(双).
totalWorkTimeInHours 会给我时间,但它给了我这么长的精确数字的时间,例如1.543240952039 ......
当我打印时,如何将其舍入到1.543 totalWorkTimeInHours?
我使用iTunes Connect将我的应用程序的第一个构建版本分发给内部测试人员,并成功安装在内部测试人员的设备上.现在,我已经通过iTunes Connect上传了第二个版本.我的内部测试人员收到了第2版可用的电子邮件,并点击按钮在TestFlight中查看它,但是当TestFlight打开时,只有可用于安装的版本1显示.
我还需要做些什么才能让测试人员可以使用构建2,或者即使在测试人员收到可用的电子邮件之后,它是否只需要花一些时间才能显示在TestFlight中?
我试图简单地存储和检索CoreData(我之前用swift成功完成的).我的数据是零,但现在(不知道发生了什么变化)我没有收到错误,只是在tableview中没有显示.我不确定在存储或检索对象时是否存在问题.我已经按照我在另一个应用程序中尽可能接近的方式进行了操作,但似乎有些基本的东西我没有得到.这就是我所拥有的.
我的模特:
import Foundation
import CoreData
@objc(DataModel)
class DataModel: NSManagedObject {
@NSManaged var itemName: String
@NSManaged var quantity: NSNumber
@NSManaged var price: NSNumber
}
Run Code Online (Sandbox Code Playgroud)
在我的tableviewcontroller中,我想要保存数据的文本字段的静态单元格:
import UIKit
import CoreData
class NewItemTableViewController: UITableViewController {
@IBOutlet weak var itemNameTextField: UITextField!
@IBOutlet weak var itemPriceTextField: UITextField!
@IBOutlet weak var itemQuantityTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func saveButton(sender: AnyObject) {
//CoreData
let appDelegate = UIApplication.sharedApplication().delegate as …Run Code Online (Sandbox Code Playgroud) 我有一个相同的问题这一个,但因为我是新来的节目,只有真正了解我迅速在想,如果有人可以给我它在迅速等价的.或者指出我可能已经错过的另一个问题是快速的.
谢谢!
更新:这是我的视图控制器的基本要点,因为我已经削减了一些脂肪,只处理相关主题.重申问题.直到我点击我的'doneButton'来运行createClient()函数并导航回客户端页面来编辑新创建的客户端,点击手势才能解除键盘.
import UIKit
import CoreData
import Foundation
class NewClientTableViewController: UITableViewController, UINavigationControllerDelegate, UITextFieldDelegate {
let managedObjectContext = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext
@IBOutlet weak var nameTxt: UITextField!
@IBOutlet weak var ageTxt: UITextField!
@IBOutlet weak var phoneTxt: UITextField!
@IBOutlet weak var emailTxt: UITextField!
@IBOutlet weak var heightTxt: UITextField!
@IBOutlet weak var notesTxt: UITextView!
var client: Client? = nil
override func viewDidLoad() {
super.viewDidLoad()
if client != nil {
nameTxt.text = client?.name
ageTxt.text = client?.age
heightTxt.text = client?.height
phoneTxt.text = client?.phone …Run Code Online (Sandbox Code Playgroud) 我是swift(和一般编程)的新手,现在我正在开发一个项目,我想在标签中显示一个时钟.
现在我在我的模型中有这个:
class CurrentDateAndTime {
let currentTime = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .MediumStyle)
}
Run Code Online (Sandbox Code Playgroud)
然后在我的视图控制器中使用此代码将其调用到标签中:
@IBOutlet weak var currentTimeLabel: UILabel!
let currentTime = CurrentDateAndTime()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
currentTimeLabel.text = currentTime.currentTime
}
Run Code Online (Sandbox Code Playgroud)
问题是这不会在第二个间隔更新以显示实际时间.最终我需要在两个时间戳之间找到差异,以便我可以在"开始时间"和"停止时间"之间记录小时数.这甚至是最好/最简单的方法吗?任何有关我的目标的线索都将非常感激.
我正在构建一个需要核心数据关系的应用程序:
entityA <<---> entityB (e.g. any given entityA can hold many entityB objects)
Run Code Online (Sandbox Code Playgroud)
我有两个带有entityA列表项的表视图,我希望能够在任何给定的entityA对象中存储entityB对象.
我刚开始使用与核心数据的关系(对于swift来说相当新),并且想学习如何使这项工作成功.有没有人有任何快速的教程,这对我来说有用,或者可以帮助我学习的任何其他资源?
对不起,如果我的问题没有多大意义,请让我澄清你是否需要.
谢谢!
更新:
这是我想要学习的更具体的一点.
假设我有实体"人"(属性可能包括姓名,年龄等)以及我的应用用户可以添加人的桌面视图.(我已经建立并知道如何做适当的)但是,现在我想添加实体"餐"(属性可能包括食品),而餐是我自己的桌面视图,我可以通过选择我的人来访问想要加一顿饭.每个人可以吃一顿以上,但每餐只能有一个人.
问题是:为了实现这一目标,我的核心数据模型fetchRequests等是什么样的?
希望足够清楚!:)
谢谢

这是我创建一顿饭的功能的代码片段:
func createMeal() {
let entityDescription = NSEntityDescription.entityForName("Meal", inManagedObjectContext: managedObjectContext!)
let meal = Meal(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext)
meal.mealName = mealNameTxt.text
meal.mealItem1 = mealItem1Txt.text
managedObjectContext?.save(nil)
}
Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何从timeIntervalSinceDate获取可读时间量.现在我有一个存储在NSUserDefaults中的密钥"punchInTime"的NSDate,但是当我想找到存储的NSDate"punchInTime"和当前时间之间的差异时,我不知道如何获得可读的时间.我有:
var totalWorkTime = NSDate.timeIntervalSinceDate(punchInTime)
Run Code Online (Sandbox Code Playgroud)
我想将"totalWorkTime"插入到字符串中以获得可读的时间量.
任何帮助赞赏!谢谢.
我有一个字符串数字数组,我从核心数据中获取这些数字并将其转换为双精度数。完成此操作后,我想得到他们的总和,但出现错误。我已经尝试过这样的:
override func viewDidLoad() {
super.viewDidLoad()
//CoreData
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let managedContext : NSManagedObjectContext = appDelegate.managedObjectContext!
var fetchRequest = NSFetchRequest(entityName: "Log")
fetchRequest.returnsObjectsAsFaults = false;
var results: NSArray = managedContext.executeFetchRequest(fetchRequest, error: nil)!
if (results.count > 0) {
for res in results {
var totalWorkTimeInHoursString = res.valueForKey("totalWorkTimeInHoursString") as String
//get double value of strings array
var totalWorkTimeInHoursNSString = NSString(string: totalWorkTimeInHoursString)
var totalWorkTimeInHoursNSStringDoubleValue = totalWorkTimeInHoursNSString.doubleValue
lastLogHoursWorked.text = "\(totalWorkTimeInHoursString) hours"
totalHoursWorkedSum.text = "\(totalWorkTimeInHoursNSStringDoubleValue)"
let sum = totalWorkTimeInHoursNSStringDoubleValue.reduce(0,+)
//throws an error saying …Run Code Online (Sandbox Code Playgroud) 我在这里问了一个类似的问题:快速获得一系列双打的总和
但我仍然没有找到解决方案.自上一个问题以来,我将核心数据属性类型更改为double.问题是这个.如何获得存储在核心数据中的所有双打的总和?
现在我有:
// Get CoreData
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let managedContext : NSManagedObjectContext = appDelegate.managedObjectContext!
var fetchRequest = NSFetchRequest(entityName: "Log")
fetchRequest.returnsObjectsAsFaults = false;
var results: NSArray = managedContext.executeFetchRequest(fetchRequest, error: nil)!
//attempt to type cast a logs array
var logs = managedContext.executeFetchRequest(fetchRequest, error: nil)!
var logsArray = logs as NSArray as [Double]
var totalHoursWorkedSum = logsArray.reduce(0, combine: +)
//this builds, but crashes the app with 'EXC_BAD_INSTRUCTION' when I try to set a label.text with 'totalHoursWorkedSum'
Run Code Online (Sandbox Code Playgroud)
我真的不确定还有什么可以尝试,所以我对任何可能实现相同目标的不同方法持开放态度.
以下是我获取和存储原始值的方法: …