小编Dan*_*ieu的帖子

如何将嵌套的 Document 反序列化为特定的类对象?

我是 MongoDb 的新手,我正在尝试将嵌套在父文档中的文档数组序列化为特定的类对象。

我的文档对象如下所示:

Project
{
    "_id" : ObjectId("589da20997b2ae4608c99173"),
    // ... additional fields
    "Products" : [ 
        { 
            "_id" : ObjectId("56971340f3a4990d2c199853"),
            "ProductId" : null,
            "Name" : null,
            "Description" : null,
            // ... quite a few more properties
            "Properties" : null 
        }
    ],
    "CreatorUserId" : LUUID("af955555-5555-5555-5555-f1fc4bb7cfae")
}
Run Code Online (Sandbox Code Playgroud)

所以基本上它是一个名为Project包含嵌套文档数组的文档Product

以下是当前课程的样子:

public class Project : BaseClasses {
    public ObjectId ParentCreatorUserIdProject { get; set; }  
    // ... additional Fields 
    public IEnumerable<IProjectItem> ProjectItems { get; set; } 
    //public IEnumerable<IProductDetails> Products { get; …
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-.net-driver

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

错误:在设备上运行的Xcode中连接中断

有人可以解释这个错误的含义吗?

CONNECTION INTERRUPTED
Run Code Online (Sandbox Code Playgroud)

我正在从一个块中调用的方法将文件写入存储.我有时也会在"连接中断"之前收到此消息:

__47+[TIUserDictionaryController loadWordKeyPairs:]_block_invoke_0  Received nil NSData for TIRemoteDataUserDict
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中调用此方法(写入的方法)确实完成了启动方法并且它可以工作,但由于某种原因,它在块内调用时将无法工作.我已经尝试过不使用块而是代理,但我仍然遇到此错误/崩溃.此错误已完全不一致.

我之前从未见过这样的错误,所以我不知道还有什么更多的信息要提供.如果您有任何疑问,请告诉我.

xcode delegates objective-c ios objective-c-blocks

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

toString vs Swift中的String

如果Swift中的toString()和String()之间存在差异,我希望有人能为我澄清一下.

例子:

var myInteger: Int
myInteger = 9

let myString1 = "I like to play " + toString(myInteger) + "-ball pool"

let myString2 = "I like to play " + String(myInteger) + "-ball pool"
Run Code Online (Sandbox Code Playgroud)

string tostring swift

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

取消UIControl animateWithDuration以启动新动画

我在创建一个非常简单的方形按钮时遇到以下问题:

  • 当我将手指放在按钮上时,它会缩小一点(动画)

  • 当我用手指按住按钮时,按钮应保持在小状态.

  • 当我抬起手指时,按钮应该恢复到初始大小(动画).

问题是,当我在播放动画时触摸/抬起按钮应该停止当前动画并缩小/增长.现在我只能在完全播放增长/缩小动画后与按钮交互.

我尝试在触摸功能中使用layer.removeAllAnimations()函数...但没有成功.我试图为View本身和图层添加动画效果.

这是我用来构建自定义按钮的UIControl的尝试.

import UIKit

class TriggerPad: UIControl {

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override init(frame: CGRect) {
        //  I init the Frame with w:200 h:100 in my ViewController
        super.init(frame: frame)

        self.backgroundColor = UIColor.clearColor()

        self.layer.frame = frame
        self.layer.backgroundColor = UIColor.blueColor().CGColor
        self.multipleTouchEnabled = true
    }

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

        let oldFrame = self.layer.frame
        self.layer.removeAllAnimations()

        UIView.animateWithDuration(2) { () -> Void in
            self.layer.frame.size.height = 50
            self.layer.frame.size.width = 100
            // I need to …
Run Code Online (Sandbox Code Playgroud)

xcode core-animation ios swift

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

在Swift中点击其UISwitch时选择UITableView的行

这个问题已经走近这里在Objective-C.但我在斯威夫特工作并有类似的问题.

成功创建后,如何在点击其UISwitch时选择UITableView的行?

我的模型中有一个布尔值,并希望根据开关的开/关状态切换该布尔值.

我有一些以编程方式创建的包含开关的单元格...

查看控制器:

var settings : [SettingItem] = [
        SettingItem(settingName: "Setting 1", switchState: true),
        SettingItem(settingName: "Setting 2", switchState: true)
    ]

override public func tableView(_tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("CustomSettingCell") as! SettingCell

        let settingItem = settings[indexPath.row]
        cell.settingsLabel.text = settingItem.settingName
        cell.settingsSwitch.enabled = settingItem.switchState!

        return cell
    }
Run Code Online (Sandbox Code Playgroud)

基于SettingItem.swift中的模型:

class SettingItem: NSObject {

    var settingName : String?
    var switchState : Bool?

    init (settingName: String?, switchState : Bool?) {
        super.init()
        self.settingName = settingName
        self.switchState = …
Run Code Online (Sandbox Code Playgroud)

iphone uitableview uiswitch ios swift

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

如何将 LUT png 用于 CIColorCube 过滤器?

我想使用查找表 png(示例)作为CIColorCubeSwift 中过滤器的颜色立方体数据。到目前为止,我尝试(并发现)的所有示例都是具有计算颜色立方体的示例,如本例所示

如何将 png 读取为查找数据?

ios cifilter swift

4
推荐指数
2
解决办法
4639
查看次数

NSTimer不会调用私有func作为选择器

我正在研究一个要点:PasteboardWatcher.swift,我调用了这样的NSTimer对象:

func startPolling () {
        // setup and start of timer
        timer = NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: Selector("checkForChangesInPasteboard"), userInfo: nil, repeats: true)
}
Run Code Online (Sandbox Code Playgroud)

checkForChangesInPasteboard函数的定义是:

func checkForChangesInPasteboard() {
        // definition continues..
}
Run Code Online (Sandbox Code Playgroud)

我不想将函数暴露checkForChangesInPasteboard给其他类,因此我想将其标记为私有,但出于某种原因,当我这样做时,它会抛出异常:

-[PasteboardWatcher.PasteboardWatcher checkForChangesInPasteboard]: unrecognized selector sent to instance
Run Code Online (Sandbox Code Playgroud)

如果我没有将其标记为私有,则可以完美地运行.

有什么方法可以将此方法保持为私有,将其隐藏在其他类中?

access-control swift

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

Google Apps 脚本:动态创建电子表格菜单项

我正在尝试使用 Google Apps 脚本在 Google 表格中创建一个动态填充的菜单。

  1. 我有一张表,“班级”,我在上面列出了我教的班级。
  2. 在运行我的脚本时,我让我的脚本读取这些类并将其加载到数组中。
  3. 为了只对原始“类”表中的值进行硬编码,我想为每个类创建一个子菜单项。

该表称为“类”。类表中的值是 8H、9p1、9p2 等。它们位于单元格 A1:A12 中。在调试器中,数组 menuItemArray 正确加载了“类”表中所有预期的类。

我得到的错误是:

类型错误:在对象 9p1 中找不到函数 addSubMenu。(第 13 行,文件“代码”)

这是踏入队伍的时候

menuItemArrayClass =  menuItemArray [menuCount]
Run Code Online (Sandbox Code Playgroud)

对于我做错了什么或有什么更好的方法可以提供任何帮助,我将不胜感激。

这是我的代码:

function onOpen(e) {
    var ui = SpreadsheetApp.getUi(); 
    var menuCount = 0; 
    ui.createMenu('Manage Timetable')
    .addItem('First item', 'menuItem1')
    .addSeparator()

    var menuItemArray =     SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Classes').getDataRange().getValues();  
    for (menuCount=1;menuCount < menuItemArray.length;++menuCount) {
        var menuItemArrayClass = [] 
        menuItemArrayClass =  menuItemArray [menuCount]
        .addSubMenu(ui.createMenu('Manage Classes')
            .addItem(menuItemArrayClass [menuCount] + 'Schedule Timetable', 'runBatch1'))
        .addToUi();
    }     
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

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

使用CoreData和Swift 2.0进行故障排除

问题

我试图简单地保存一条记录,然后取出它,但我认为我在做错了,因为我的记录没有保存.输出窗口只显示一个空数组.

我在Xcode 7 beta 5中使用了锅炉板 AppDelegate CoreData堆栈.[参见这里的要点]

尝试

实体

在此输入图像描述

模型

import Foundation
import CoreData

// @func(Person) edit: removed 
class Person: NSManagedObject {

    @NSManaged var firstName: String?
    @NSManaged var lastName: String?
}
Run Code Online (Sandbox Code Playgroud)

查看控制器

import UIKit
import CoreData

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        seedPerson()
        fetch()
    }

    func seedPerson() {

        let managedContext = AppDelegate().managedObjectContext

        let entity = NSEntityDescription.entityForName("Person", inManagedObjectContext: managedContext)

        let person = …
Run Code Online (Sandbox Code Playgroud)

storage core-data ios swift2 xcode7-beta5

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

有没有办法刷新虚拟重复容器?

我有一个md-virtual-repeat-container处理由搜索框触发的API调用的数据.我希望能够在用户输入第二个搜索查询时刷新此容器.

我正在使用类似于这个plnkr的设置来自这个问题:.唯一的区别是当用户输入搜索词时从服务器获取数据.

我的问题

有没有办法触发刷新md-virtual-repeat-container


我不认为代码是相关的,但这是我的(简化的)生产代码:

    var self = this;
    self.infiniteItems = {
        numLoaded_: 0,
        toLoad_: 0,
        items: [],
        getItemAtIndex: function (index) {
        if (index > this.numLoaded_) {
            this.fetchMoreItems_(index);
                return null;
            }
            return this.items[index];
         },
         getLength: function() {
            return this.numLoaded_ + 25;
         },
         fetchMoreItems_: function (index) { 
             if (this.toLoad_ < index) {
                 this.toLoad_ += 5;
                 var offset = 0;

                 $http({
                     method: 'GET',
                     datatype: 'json',
                     url: '{my-api-call}',
                     contentType: "application/json; charset=utf-8",
                     cache: false, …
Run Code Online (Sandbox Code Playgroud)

material angularjs

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