我是 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) 有人可以解释这个错误的含义吗?
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)
我在我的应用程序中调用此方法(写入的方法)确实完成了启动方法并且它可以工作,但由于某种原因,它在块内调用时将无法工作.我已经尝试过不使用块而是代理,但我仍然遇到此错误/崩溃.此错误已完全不一致.
我之前从未见过这样的错误,所以我不知道还有什么更多的信息要提供.如果您有任何疑问,请告诉我.
如果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) 我在创建一个非常简单的方形按钮时遇到以下问题:
当我将手指放在按钮上时,它会缩小一点(动画)
当我用手指按住按钮时,按钮应保持在小状态.
当我抬起手指时,按钮应该恢复到初始大小(动画).
问题是,当我在播放动画时触摸/抬起按钮应该停止当前动画并缩小/增长.现在我只能在完全播放增长/缩小动画后与按钮交互.
我尝试在触摸功能中使用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) 这个问题已经走近这里在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) 我正在研究一个要点: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)
如果我没有将其标记为私有,则可以完美地运行.
有什么方法可以将此方法保持为私有,将其隐藏在其他类中?
我正在尝试使用 Google Apps 脚本在 Google 表格中创建一个动态填充的菜单。
该表称为“类”。类表中的值是 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) 我试图简单地保存一条记录,然后取出它,但我认为我在做错了,因为我的记录没有保存.输出窗口只显示一个空数组.
我在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) 我有一个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)