小编Bou*_*uke的帖子

将NSSet转换为Swift数组

在CoreData中,我定义了一个无序的 to-many关系.这种关系在Swift中定义如下:

@NSManaged var types : NSMutableSet
Run Code Online (Sandbox Code Playgroud)

但是,要最好使用Swift,我想使用普通的Swift数组Type[].但是,CoreData强迫我使用NS(Mutable)Set.我该如何输入/转换NSSetArray<Type>[]

core-data swift ios8

48
推荐指数
5
解决办法
4万
查看次数

带有Swift Cocoa库的OSX命令行工具,未加载库

尝试运行目标时抛出以下错误:

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)

xcode command-line-interface swift

32
推荐指数
2
解决办法
5873
查看次数

将NSArray转换为Swift数组<T>

在CoreData中,我定义了一个有序的多对多关系.这种关系在Swift中定义如下:

@NSManaged var types : NSMutableArray
Run Code Online (Sandbox Code Playgroud)

但是,要最好使用Swift,我想使用普通的Swift数组Type[].但是,CoreData强迫我使用NS(Mutable)Array.我该如何输入/转换NSArrayArray<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)

core-data swift ios8

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

pylint:忽略rcfile中的multiple

在我的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.

python pylint

18
推荐指数
1
解决办法
6541
查看次数

如何在Git Tower中使用Kaleidoscope 2?

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)

git git-tower

14
推荐指数
3
解决办法
9317
查看次数

如何在Swift中定义CoreData关系?

在CoreData,我已经定义了从无序到一对多的关系NodeTag.我已经创建了一个像这样的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:{...})").'

多对多关系的正确类型是什么?

core-data swift ios8

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

如何在Swift Int64中使用Core Data Integer 64?

我在一个实体上有一个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)

core-data swift ios8

12
推荐指数
1
解决办法
1万
查看次数

Swift包管理器 - Swift 4语法

我正在尝试使用更新的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命令构建库.我看到以下错误:

...错误:类型'版本'没有成员'分支'

swift swift-package-manager swift4

12
推荐指数
1
解决办法
3560
查看次数

排除setuptools/pip中的某些依赖项版本范围

目前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)

python pip setuptools

9
推荐指数
1
解决办法
1381
查看次数

Ember.js恢复历史记录滚动,重置滚动链接

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历史状态更改触发,什么都不做?

scroll ember.js html5-history

9
推荐指数
1
解决办法
2202
查看次数