草庐IT

self-documenting-code

全部标签

swift - 非最终类无法满足协议(protocol)要求,因为它在非参数、非结果类型中使用 'Self'

这个问题在这里已经有了答案:ASwiftprotocolrequirementthatcanonlybesatisfiedbyusingafinalclass(4个答案)关闭6年前。我想用一个类方法实现一个协议(protocol),该类方法将实现类的数组作为参数。例如这样的事情:protocolMyProtocol{staticfuncfoo(verticies:[Self])->Int}classMyClass:MyProtocol{classfuncfoo(verticies:[MyClass])->Int{return42}}当我尝试这样做时,出现以下错误:Protocol'My

ios - Swift xcode 错误 : Thread 1: EXC_BAD_ACCESS (code=2, 地址=0x7ff54b59ff8)

我的项目应该创建一个包含动物名称列表的窗口,但是当用户选择一个名称(一行)时,用户将被传送到另一个包含动物描述的窗口。这里是出现错误的地方:这是Animal类(注意:错误出现在这个类中)importUIKitclassAnimal{varname:StringvarshortDescription:StringvarlongDescription:Stringinit(name:String,shortDescription:String,longDescription:String){self.name=nameself.shortDescription=shortDescripti

ios - .self 在 Swift 中的结构类型之后

我对Metal示例中的一行代码感到困惑,其中内存指针绑定(bind)到一个类型。uniforms=UnsafeMutableRawPointer(uniformBuffer.contents()).bindMemory(to:Uniforms.self,capacity:1)我的困惑是Uniforms类型之后的.self。Uniforms是在Objective-C文件中定义的结构,如果调用中没有.self,代码将无法运行。为什么有必要? 最佳答案 .self返回相应类型的元类型实例。将其视为类型安全的类型标识符(例如,比使用字符串更

swift - 为什么我不能在 Range 扩展中循环 self?

我有这个扩展:extensionRange{funcfoo(){//calledwith(0..print(type(of:self))//Rangeforiinbar{//:)}forjinself{//:(}}}出于某种原因,第一个循环没问题,但第二个循环不行。我得到一个编译时错误说Type'Bound'doesnotconformtoprotocol'Strideable'这里还需要注意的一点是,将bar赋值给self会导致错误在第一个循环中弹出。 最佳答案 向编译器明确说明Bound是Strideable:extension

properties - 在 Swift init 中使用 self 和不使用 self 的区别

我注意到在Swift初始化器中初始化属性可以同时使用:self.property=1和property=1这两者有什么区别吗?如果不是,是否存在一种优胜劣汰的惯例? 最佳答案 在第一个中,您明确表示它是一个类/结构属性,而在第二个中它是隐式的。但是有一个很大的区别:如果有一个同名的局部变量(例如传递给init的参数),它将优先并隐藏类/结构属性。作为一个偏好问题,我总是更喜欢通过使用self使其显式化。此外,通过这样做,我可以避免在我认为我正在访问类属性时发生常见错误,而我正在使用局部变量或函数参数。

ios - Xcode 8.3 存档错误 : Linker command failed with exit code 1

只有在从Xcode8.2升级到Xcode8.3之后,我才开始遇到这个错误,而且只有在进行存档构建时(调试构建工作正常)。当我通过Xcode进行归档时,我收到的唯一消息是“链接器命令失败,退出代码为1(使用-v查看调用)”。我使用命令行构建xcodebuild-schemeMyProduct当我以这种方式构建时,我发现了一些问题(同样,仅在执行存档时):我必须添加importUIKit几乎每个swift文件。所有的pod都有问题从app-Bridging-Header.h中删除所有内容将一些东西添加回app-Bridging-Header.h我当前的问题是AWSpod,使用版本2.5.3

swift - 关于 [unowned self] 应该放在哪里的困惑

我有一个保留循环,所以我的viewcontroller的deinit不会被调用,我试图通过添加[unownedself]来解决这个问题,但我不太确定在我的案例中将unowned放在哪里:案例一classYADetailiViewController:UIViewController{varsubscription:Subscription?overridefuncviewDidLoad(){super.viewDidLoad()ifletquery=self.event.subscribeQuery(){self.subscription=Client.shared.subscribe

ios - 如何在快速编程中解决这个 EXC_BAD_ACCESS(code=EXC_i386_GPFLT)

这是我的代码。获取此EXC_BAD_ACCESS(code=EXC_i386_GPFLT)。我不知道如何找到并解决问题,请帮助我...应用程序在获取经度时崩溃mapServerRequest="Hyderabad,india"varmapAddress:NSString=mapServerRequestmapAddress.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLPathAllowedCharacterSet())println(mapAddress)varurlpath=NSString

XCode 6 通用 : Constantly freezing/locking while editing Swift code

自从安装XCode6GM以来,它一直卡住并锁定,在我尝试编辑有语法错误的代码时显示死亡纺车。有没有其他人看到过这个,是否有任何已知的解决方法?我愚蠢地放弃了保存以前版本(Beta7)的谨慎策略,Beta7似乎不再可供下载。该链接是否有任何已知的/文件?我也已在开发论坛上发帖并会跟进错误报告,但很难确定具体情况。编辑:补充说明:CPU:SourceKit服务通常在100%左右,但这似乎已成为XCode风格的常态,并且在完成重新编译时CPU似乎正常下降。RAM:SourceKit不再表现出曾经导致它停止和着火的内存泄漏,内存似乎不是一个因素,并且有几个~5+gigs可以备用。环境:2012

MAC安装mysqlclient失败,× Getting requirements to build wheel did not run successfully.│ exit code: 1╰─

问题:在使用django项目安装mysqlclient时出现以下错误:CollectingmysqlclientUsingcachedmysqlclient-2.1.1.tar.gz(88kB)Installingbuilddependencies...doneGettingrequirementstobuildwheel...errorerror:subprocess-exited-with-error×Gettingrequirementstobuildwheeldidnotrunsuccessfully.│exitcode:1╰─>[27linesofoutput]/bin/sh:mys