小编tym*_*mac的帖子

HealthKit Watch应用程序没有记录卡路里

我不能在我的应用程序中显示任何卡路里/ activeEnergyBurned,并且不知道为什么?

WorkoutInterfaceController:

private func totalCalories() -> Double {
    return totalEnergyBurned.doubleValue(for: HKUnit.kilocalorie())
}

private func setTotalCalories(calories: Double) {
    totalEnergyBurned = HKQuantity(unit: HKUnit.kilocalorie(), doubleValue: calories)
}

func startQuery(quantityTypeIdentifier: HKQuantityTypeIdentifier) {
    let datePredicate = HKQuery.predicateForSamples(withStart: workoutStartDate, end: nil, options: .strictStartDate)
    let devicePredicate = HKQuery.predicateForObjects(from: [HKDevice.local()])
    let queryPredicate = NSCompoundPredicate(andPredicateWithSubpredicates:[datePredicate, devicePredicate])

    let updateHandler: ((HKAnchoredObjectQuery, [HKSample]?, [HKDeletedObject]?, HKQueryAnchor?, Error?) -> Void) = { query, samples, deletedObjects, queryAnchor, error in
        self.process(samples: samples, quantityTypeIdentifier: quantityTypeIdentifier)
    }

    let query = HKAnchoredObjectQuery(type: HKObjectType.quantityType(forIdentifier: quantityTypeIdentifier)!,
                                      predicate: queryPredicate,
                                      anchor: …
Run Code Online (Sandbox Code Playgroud)

ios swift healthkit watchkit

14
推荐指数
1
解决办法
914
查看次数

如何在HealthKit中添加"addQuantitiesFromSamples"?

基于WWDC 2015构建HealthKit/WatchKit应用程序- 会话203.

没有源代码所以我正在编写它.有一种方法我遇到困难,因为他们不讨论它.

幸运的是,addQuantitiesFromSamples对于将样本量添加到锻炼课程的所有锻炼类型,它都是相同的方法.

当然我有这个错误,因为我的代码中不存在该方法.

"HKQuantity"类型的值没有成员'addQuantitiesFromSamples'

我不知道如何编写一个添加样本量的方法.该方法必须相对基础,因为它正在项目中的所有三个示例查询中使用.

sumDistanceSamples函数addQuantitiesFromSamples是调用神秘方法的地方.

这是包含相同错误的三个块之一,因此我只需要为其中一个找到解决方案.

WorkoutSessionManager.swift

class WorkoutSessionManager: NSObject, HKWorkoutSessionDelegate {

var activeEnergySamples: [HKQuantitySample] = []
var distanceSamples: [HKQuantitySample] = []
var heartRateSamples: [HKQuantitySample] = []

// ... code

var distanceType: HKQuantityType {
    if self.workoutSession.activityType == .Cycling {
        return HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceCycling)!
    } else {
        return HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning)!
    }
}

var currentActiveEnergyQuantity: HKQuantity
var currentDistanceQuantity: HKQuantity
var currentHeartRateSample: HKQuantitySample?

// ... code


// MARK: Data queries

// Create …
Run Code Online (Sandbox Code Playgroud)

ios swift healthkit watchkit

10
推荐指数
1
解决办法
290
查看次数

一起使用 virtualenvwrapper 和 pyenv

$ pyenv virtualenv 3.8.0 tf12创建一个 virtualenv ,其中~/.pyenv/versions/3.8.0/envs/tf12包含我们使用安装到其中的包pip install。如果我们创建一个新的项目目录,例如mkdir myfolder && cd myfolder && pyenv local tf12,该项目目录将使用 tf12 环境包含的相同内核和包,因为我们使用了该pyenv local命令。

但我们也有 virtualenvs 和目录创建位于类似和 的mkproject mynewenv地方。工作区是我们放置笔记本、代码和脚本等的地方,相应的 virtualenv 使用执行时处于活动状态的全局 python 版本。~/.ve~/workspace.pynb.py.rmkproject mynewenv

这些使用 创建的 virtualenv 与mkproject mynewenv使用 创建的 virtualenv 是分开的pyenv virtualenv

我得出的结论是,我们不能将它们一起使用以获得更多可能性。它们是独立使用的。如我错了请纠正我。

python virtualenv virtualenvwrapper

7
推荐指数
1
解决办法
4861
查看次数

返回所有或特定列的频率计数的函数

我可以返回带有总列的漂亮数据框中所有列的频率。

for column in df:     
    df.groupby(column).size().reset_index(name="total")

Count   total
0   1   423
1   2   488
2   3   454
3   4   408
4   5   343

Precipitation   total
0   Fine        7490
1   Fog         23
2   Other       51
3   Raining     808

Month   total
0   1   717
1   2   648
2   3   710
3   4   701
Run Code Online (Sandbox Code Playgroud)

我将循环放在一个函数中,但这仅返回第一列“计数”。

def count_all_columns_freq(dataframe_x):
    for column in dataframe_x:
        return dataframe_x.groupby(column).size().reset_index(name="total")

count_all_columns_freq(df)

Count   total
0   1   423
1   2   488
2   3   454
3   4   408
4   5   343
Run Code Online (Sandbox Code Playgroud)

有没有办法使用切片或其他方法来做到这一点,例如 for …

python dataframe

6
推荐指数
1
解决办法
126
查看次数

这些结果类型存在'...'的重载:ClosedRange <Bound>,CountableClosedRange <Bound>

斯威夫特2

let gap = CGFloat(randomInRange(StackGapMinWidth...maxGap))
Run Code Online (Sandbox Code Playgroud)

在调用中缺少参数标签'range:'

Swift 3 - 新错误

let gap = CGFloat(randomInRange(range: StackGapMinWidth...maxGap))
Run Code Online (Sandbox Code Playgroud)

没有'...'候选人产生预期的上下文结果类型'Range'

这些结果类型存在"..."的重载:ClosedRange,CountableClosedRange

swift swift3 xcode8

5
推荐指数
1
解决办法
1203
查看次数

使用WatchKit强制触摸MenuItem调用外部函数

我需要实现一个WatchKit force-touch MenuItem来调用一个saveWorkout()位于不是子类的单独类中的方法WKInterfaceController.

我意识到每个类至少需要一个指定的初始化器.我猜这是关键?

顺便说一下,我的" saveSession()到达 "print语句在使用sim时登录到控制台,但在我使用设备时没有.即使使用设备,所有其他打印语句也会登录到控制台.有点奇怪.

我在初始化时的尝试会抛出各种错误,例如:

1.fatal错误:对类'DashboardController'使用未实现的初始化程序'init()'

2.在调用中删除参数"context"的参数

Dashboard.swift

class DashboardController: WKInterfaceController {

@IBOutlet var timerLabel: WKInterfaceTimer!
@IBOutlet weak var milesLabel: WKInterfaceLabel!

// var wSM: WorkoutSessionManager

//init(wSM: WorkoutSessionManager) {
//  self.wSM = wSM
//  super.init()
//  }


override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    addMenuItemWithItemIcon(.Accept, title: "Save", action: #selector(DashboardController.saveSession))
}

override func willActivate() {
    super.willActivate()
    print("Dashboard controller reached")
}

func saveSession() {
    //wSM.saveWorkout()
    print("saveSession() reached")    
    }
Run Code Online (Sandbox Code Playgroud)

WorkoutSessionManager.swift

class WorkoutSessionContext {

let healthStore: HKHealthStore
let …
Run Code Online (Sandbox Code Playgroud)

swift healthkit watchkit

5
推荐指数
1
解决办法
269
查看次数

选择匹配行以传递数据

我看过所有这些Swift,asp.net和javascript问题。

1 2 3 4 5

目标:
当我从聊天消息列表中选择一条消息时,MessageListController我希望下一个打开的会话ChatDetailController成为所选的会话。

我在这个iOS图像中为WatchKit应用做同样的事情。选择与Sophia的消息,并打开与Sophia的聊天。[![在此处输入图片描述] [6]] [6]

我想传递json“ message_id”即chatMessageId属性。我已经经过chatMessageIdMessageModelChatDetailController,你可以在代码中看到。

它是对chatMessageIdChatModel,我需要通过?还是我已经传递了所需的数据?

传递的上下文:可选(HTWatch_Extension.MessageModel(合作伙伴:“ 9859”,昵称:“马可”,消息:“您看到过狗吗?”,城市:“马德里”,countryBadgeImageURL:https://i.imgur.com/ PJcyle7.jpg,messageListImageURL:https ://i.imgur.com/PJcyle7.jpg,chatMessageId:“ Tva9d2OJyWHRC1AqEfKjclRwXnlRDQ”,状态:“离线”))

尝试: 我是否需要采取做-catch块,我解析ChatModel出的ChatDetailControllerawakeWithContext方法,并把它的didSelectRowAt方法MessageListController


MessageListController

// ...code...

var messageObject = [MessageModel]()
var chatObject = [ChatModel]()

// ...code...

override func table(_ table: WKInterfaceTable, didSelectRowAt rowIndex: Int) {

    var messageContext = messageObject[rowIndex]
    var chatContext = …
Run Code Online (Sandbox Code Playgroud)

messaging json chat swift

5
推荐指数
1
解决办法
145
查看次数

在 watchOS 故事板中叠加图像并自定义 x,y 位置

我想复制这个设计模型并在生产中使用它。

iOS 具有用于在 Z 轴上排列的 Z 层次结构,但它在 watchOS 中呈灰色显示。我想创建一个个人资料头像的叠加层,就像这个 Instagram 原型一样,其中只有一半的头像位于主图像上。

当然,我希望将来自服务器的所有个人资料图像放置在小圆形 imagview 中,该 imagview 位于流中照片的顶部。

在此输入图像描述

xcode-storyboard swift watchos-2

4
推荐指数
1
解决办法
579
查看次数

如何阻止 VS Code 在控制台中截断 Python 数据?

我正在使用 Python 在 VS Code 中打开一个 csv 文件。你的基本csv import. 我知道完整的 csv 数据正在正确读取,因为它按预期通过 Anaconda iPython 打印到 macOS 终端。

但是,当我将 csv 数据打印到VS Code Interactive WindowVS Code iPython WindowVS Code 时会截断数据。它不打印 csv 标题行,它还会截断其余 csv 数据的长度和/或它在一些深行(如第 1000 行)开始输出数据。

问题不在于代码,因为它在 Terminal/iPython 中打印得很好。

当然,我使用的是标准的 Microsoft Python 扩展和 iPython 扩展。即使禁用其中之一,问题仍然存在。

这是 VS Code 默认首选项问题吗?

VS Code Interactive Window
没有标题和后面的数据在开头和结尾都被截断。
在此处输入图片说明
VS Code iPython 截断
再次,没有标题,加上截断。
在此处输入图片说明
终端/Conda iPython 都很好。标题和以下数据。
在此处输入图片说明

python visual-studio-code

3
推荐指数
1
解决办法
4863
查看次数