在CoreData中,我定义了一个无序的 to-many关系.这种关系在Swift中定义如下:
@NSManaged var types : NSMutableSet
Run Code Online (Sandbox Code Playgroud)
但是,要最好使用Swift,我想使用普通的Swift数组Type[]
.但是,CoreData强迫我使用NS(Mutable)Set
.我该如何输入/转换NSSet
为Array<Type>[]
?
尝试运行目标时抛出以下错误:
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: x/Xcode/DerivedData/x/Build/Products/Debug/PriorityQueue.framework/Versions/A/PriorityQueue
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我的目标是用Swift编写的命令行工具(OSX).我正在使用用Swift编写的Cocoa Framework(PriorityQueue).当我EMBEDDED_CONTENT_CONTAINS_SWIFT
在框架上设置为yes时,目标将运行以下警告:
objc[99144]: Class _TtC10Foundation15NSSimpleCString is implemented in both x/PriorityQueue.framework/Versions/A/Frameworks/libswiftFoundation.dylib and x/MyTargetName. One of the two will be used. Which one is undefined.
objc[99144]: Class _TtC10Foundation16NSConstantString is implemented in both x/PriorityQueue.framework/Versions/A/Frameworks/libswiftFoundation.dylib and x/MyTargetName. One of the two will be used. Which one is undefined.
objc[99144]: Class _TtC10Foundation15NSFastGenerator is implemented in both x/PriorityQueue.framework/Versions/A/Frameworks/libswiftFoundation.dylib and x/MyTargetName. One of the two will be used. Which one …
Run Code Online (Sandbox Code Playgroud) 在CoreData中,我定义了一个有序的多对多关系.这种关系在Swift中定义如下:
@NSManaged var types : NSMutableArray
Run Code Online (Sandbox Code Playgroud)
但是,要最好使用Swift,我想使用普通的Swift数组Type[]
.但是,CoreData强迫我使用NS(Mutable)Array
.我该如何输入/转换NSArray
为Array<Type>[]
?
显然,混淆起因于以下错误:
let array = obj.types as T[] // Cannot convert expression's type 'Node[]' to type '$T2'
Run Code Online (Sandbox Code Playgroud)
虽然这是编辑接受的:
let array = obj.types as AnyObject[] as T[] // No complaint
Run Code Online (Sandbox Code Playgroud) 在我的django项目中,我使用的是外部编写的应用程序,写得很糟糕.现在我想从我的pylint报告中忽略这个应用程序,但是我不能让pylint忽略它.Pylint已经忽略了南迁移,如下所示:
[MASTER]
ignore=migrations
Run Code Online (Sandbox Code Playgroud)
但是,文档说明可以指定多个忽略.但我尝试了一些,但无法让它们发挥作用.
不起作用:
[MASTER]
ignore=migrations,badapp
Run Code Online (Sandbox Code Playgroud)
也不起作用:
[MASTER]
ignore=migrations
ignore=badapp
Run Code Online (Sandbox Code Playgroud)
我的项目结构是这样的:
|-- goodapp
| |-- models.py
| |-- tests.py
| +-- views.py
|-- badapp
| |-- models.py
| |-- tests.py
| +-- views.py
|-- manage.py
Run Code Online (Sandbox Code Playgroud)
我宁愿不撒上我的代码# pylint: skip-file
,而是使用rcfile配置pylint.
Kaleidoscope 2公共测试版于本周发布,并获得了合并功能.好极了!但是,命令行使用对于使用情况有些模糊.我想和Git Tower一起使用Kaleidoscope,我该怎么做?
$ ksdiff --help
usage: ksdiff - send files to Kaleidoscope
command options:
[--wait, -w | --no-wait] whether to wait for the document to be
closed in Kaleidoscope before exiting
FILE options:
[--snapshot | --no-snapshot] whether the file is temporary. this
option will override the heuristics
ksdiff would otherwise use to determine
this state.
commands:
--merge send a merge
implies --wait
--output OUTPUT use OUTPUT as the destination path for
this merge. creates OUTPUT if it does
not …
Run Code Online (Sandbox Code Playgroud) 在CoreData,我已经定义了从无序到一对多的关系Node
来Tag
.我已经创建了一个像这样的Swift实体:
import CoreData
class Node : NSManagedObject {
@NSManaged var tags : Array<Tag>
}
Run Code Online (Sandbox Code Playgroud)
现在我想添加一个Tag
实例Node
,如下所示:
var node = NSEntityDescription.insertNewObjectForEntityForName("Node", inManagedObjectContext: managedObjectContext) as Node
node.tags.append(tag)
Run Code Online (Sandbox Code Playgroud)
但是,这失败并出现以下错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'to-many relationship的值不可接受的类型:property ="tags"; 期望的类型= NSSet ; 给定type = _TtCSs22ContiguousArrayStorage000000000B3440D4; value =("<_TtC8MotorNav3Tag:0xb3437b0>(entity:Tag; id:0xb343800; data:{...})").'
多对多关系的正确类型是什么?
我在一个实体上有一个CoreData属性,我想要存储大于Int32.max
和的整数值UInt32.max
.该值用作索引,因此查找性能很重要.所以我选择Integer 64
在CoreData中使用as数据类型.
现在我正在努力研究如何在我的实体实例上存储Int64.另请参阅我尝试过的以下不同方法.
用途NSNumber
:
import Foundation
import CoreData
class Node : NSManagedObject {
@NSManaged var id : NSNumber
}
node.id = Int64(1)
> 'Int64' is not convertible to 'NSNumber'
Run Code Online (Sandbox Code Playgroud)
用途NSInteger
:
import Foundation
import CoreData
class Node : NSManagedObject {
@NSManaged var id : NSInteger
}
node.id = Int64(1)
> 'Int64' is not convertible to 'NSInteger'
Run Code Online (Sandbox Code Playgroud)
用途Int64
:
import Foundation
import CoreData
class Node : NSManagedObject {
@NSManaged var id …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用更新的SPM for Swift4与以下Package.swift
文件 - PackageDescription API Version 4
import PackageDescription
let package = Package(
name: "Name",
dependencies : [
.package(url: "url", .branch("swift4"))
],
exclude: ["Tests"]
)
Run Code Online (Sandbox Code Playgroud)
我也有正确版本的SPM:
Apple Swift软件包管理器 - Swift 4.0.0-dev(swiftpm-13081.9)
但我无法通过swift build
命令构建库.我看到以下错误:
...错误:类型'版本'没有成员'分支'
目前Django项目支持1.4,1.7和1.8.在我的setup.py
我想反映这些版本作为受支持.
install_requires=['Django>=1.4.2,<1.8.99,!=1.5,!=1.6']
Run Code Online (Sandbox Code Playgroud)
但是,这仍然允许1.5.x和1.6.x版本.如何排除完整范围?
Setuptools列出了以下有效要求作为示例:
PickyThing<1.6,>1.9,!=1.9.6,<2.0a0,==2.4c1
Run Code Online (Sandbox Code Playgroud)
但是这不适用于pip(至少应该匹配1.4.x/1.5.x):
找不到PickyThing的匹配分布!= 1.9.6,<1.6,<2.0a0,== 2.4c1,> 1.9
以示例更新
例如; 我只想包括当前支持的Django版本.这将是1.4.x,1.7.x和1.8.x. 所以我会写;
#setup.py
install_requires=['Django>=1.4.2,<1.4.99,>=1.7,<1.8.99']
Run Code Online (Sandbox Code Playgroud)
但是,如果我pip install -e .
在这个项目上运行,它会失败;
Collecting Django<1.4.99,<1.8.99,>=1.4.2,>=1.7 (from ...)
Could not find a version that satisfies the requirement Django<1.4.99,<1.8.99,>=1.4.2,>=1.7 (from django-two-factor-auth==1.2.0) (from versions: 1.1.3, 1.1.4, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.3, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.4.8, 1.4.9, 1.4.10, 1.4.11, 1.4.12, 1.4.13, 1.4.14, 1.4.15, 1.4.16, …
Run Code Online (Sandbox Code Playgroud) Daniel F Pupius将问题描述为:
很多网站都错了,这真的很烦人.当用户使用浏览器的前进或后退按钮导航时,滚动位置应与上次在页面上的位置相同.这有时在Facebook上正常工作,但有时却没有.Google+似乎总是失去你的滚动位置.
因此,在浏览新页面时,已经有很多关于将滚动条重置到页面顶部的问题.Ember.js的Cookbook还展示了如何融入Route.activate
:
export default Ember.Mixin.create({
activate: function() {
this._super();
window.scrollTo(0,0);
}
});
Run Code Online (Sandbox Code Playgroud)
然而,这只能解决问题的一半.当用户使用后退/前进按钮时,滚动位置将不会恢复,而只是重置.
有很多尝试解决这个问题,很多只是将滚动位置存储在Ember.Controller
实例中,例如在本文中.然而,这只是部分解决方案.如果多次使用控制器,则仅保留单个滚动状态.
如何保留恢复旧滚动状态的默认浏览器实现?因此,如果Route.activate
从html5历史状态更改触发,什么都不做?