我使用 Dropbox 存储我的所有文档,包括我的编程项目。使用它的唯一缺点是它会同步所有无用的依赖项。不幸的是,没有.dropboxignore文件之类的东西。是否可以使用.gitignore我已有的文件自己实现此功能?我希望它是完全自动的。
谢谢
我无法使用 Swift 泛型获得所需的效果。我定义了一些通用函数,但对于特定情况,我想覆盖它们以提供附加功能。当我从非通用方法/函数调用函数时,一切正常(当参数类型匹配时它使用特定版本,否则使用通用版本),但是当我从通用方法/函数调用函数时,它总是使用通用函数的版本(从不是特定版本)。
这是一个示例游乐场:
func printSomething <T> (something: T) {
println("This is using the generic version.")
println(something)
}
func printSomething(string: String) {
println("This is using the specific version.")
println(string)
}
func printSomeMoreThings <T> (something: T) {
printSomething(something)
}
class TestClass <T> {
var something: T
init(something: T) {
self.something = something
}
func printIt() {
printSomething(self.something)
}
}
printSomething("a")
println()
printSomeMoreThings("b")
let test = TestClass(something: "c")
println()
test.printIt()
Run Code Online (Sandbox Code Playgroud)
这给出了以下输出:
This is using the specific version.
a
This is using the …Run Code Online (Sandbox Code Playgroud) 我更新到Xcode 6.3,但现在我的项目(框架)将不再构建.这是一个纯粹的快速项目.我的所有文件都正确编译(选中"编译swift源文件"部分),但是我的测试(myProjectTests.xctest)出现链接错误:
Undefined symbols for architecture x86_64:
"__TWPSiSs10Comparable14MathEagleTests", referenced from:
__TFC14MathEagleTests11MatrixTests45testRandowWithDimensionsIntervalGeneratorInitfS0_FT_T_ in MatrixTests.o
__TFC14MathEagleTests11MatrixTests21testSubscriptRangeSetfS0_FT_T_ in MatrixTests.o
__TFC14MathEagleTests11MatrixTests35testSubscriptRowRangeColumnRangeSetfS0_FT_T_ in MatrixTests.o
__TFC14MathEagleTests11MatrixTests30testSubscriptRowRangeColumnSetfS0_FT_T_ in MatrixTests.o
__TFC14MathEagleTests11MatrixTests30testSubscriptRowColumnRangeSetfS0_FT_T_ in MatrixTests.o
__TFC14MathEagleTests11MatrixTests13testMatrixMapfS0_FT_T_ in MatrixTests.o
__TFC14MathEagleTests11MatrixTests24testMatrixMapPerformancefS0_FT_T_ in MatrixTests.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
奇怪的是,Comparable是一个快速的内置协议,所以我认为它与我的代码没有任何关系?所有引用都来自我的测试文件,因此它不是我的主要项目......