草庐IT

init_printing

全部标签

swift - 更改 print(Object) 在 Swift 2.0 中显示的内容

我试图让我的类Digit在Swift2.0中每当对该对象调用print时显示num变量。我认为这可以通过描述变量来完成,但没有成功。classDigit{varnum:Intvarx:Intvary:Intvarbox:IntvarhintList:[Int]=[]varguess:Bool=falsevardescription:String{letstring=String(num)returnstring}} 最佳答案 仅仅添加一个description变量是不够的。您还需要声明您的类符合CustomStringConvert

swift - 对 Enum 的成员 'init(from:)' 的引用不明确

假设我们有这个枚举:enumNumberEnumSpecial:Int32{casetwo=2,three=3}我想用Int32初始化它,所以我使用这个:letmyEnum=NumberEnumSpecial.init(rawValue:2)这适用于playground项目,但不适用于我的常规App项目。对于完全相同的代码,我收到此错误:Ambiguousreferencetomember'init(from:)'/Users/sjoerd/GitHub/flitsmeister-ios/app/Flitsmeister7/Model/Melding/DangerZone.swift:

ios - UIViewController init 方法中的隐式解包选项

正如文档所说“您确定可选确实包含一个值,您可以通过添加感叹号(!)来访问其基础值”那么为什么UIViewController的init方法要用init(nibNamenibName:String!,bundlenibBundle:NSBundle!)并告诉我“如果指定nil,则nibName属性设置为nil。”为什么不使用init(nibNamenibName:String?,bundlenibBundle:NSBundle?)代替?我对此很困惑。 最佳答案 据我理解?用来表示可选变量。!用于访问可选变量的值。文件说“Onceyou

具有 throw init 行为的 swift lazy var

我不确定这是一个错误还是它真的应该如何工作?classA{init()throws{}}classB{lazyvarinstance=A()}此代码使用XCode9和最新的Swift版本编译没有错误,并且工作完美,除非ClassAinit()真的抛出,然后惰性变量是空指针。但是这段代码不应该以某种方式不被编译吗? 最佳答案 这确实是一个错误(SR-7862)——你不能从属性初始化上下文中抛出错误(即使你可以,你也需要在调用前加上try),因此编译器应该产生一个错误。我已经打开了一个拉取请求来解决这个问题(#17022)。编辑:该补丁

ios - 在 Swift 1.2 中将 self 作为参数传递给 init 方法

以下类有一个“let”属性声明为隐式解包变量。这以前适用于Xcode6.2:classSubView:UIView{letpandGestureRecognizer:UIPanGestureRecognizer!requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)self.pandGestureRecognizer=UIPanGestureRecognizer(target:self,action:"panAction:")}funcpanAction(gesture:UIPanGestureRecognizer)

Swift:扩展 print() 函数的功能

是否可以扩展Swift函数的功能?我想在程序中的每个print()函数上附加一个字符,而不必创建一个全新的函数并重命名print()的每个实例。是否可以创建一个将“*”附加到每个打印实例的扩展?这样做的目的是创建一种清除XCODE添加到调试器中的所有额外信息的方法。我正在使用打印语句来检查我的代码的不同部分的进度和成功,但XCODE在几秒钟内填充了数千行多余的信息,这些信息很快就掩盖了我的特定语句。我想做的事情:print("Helloworld!")//Psuedocode:Extensionprint(text:String){letnewText="*\(text)"return

swift - Swift 中 println 和 print 的区别

在Swift中使用println和print都会打印到控制台。但它们之间的唯一区别似乎是println返回到下一行,而print不会。例如:println("helloworld")println("anotherworld")会输出以下两行:helloworldanotherworld同时:print("hello")print("world")只输出一行:helloworldprint似乎更像是C中传统的printf。Swift文档指出println等同于NSLog但是print的目的是什么,除了不返回到下一行之外还有什么理由使用它吗? 最佳答案

ios - fatal error : use of unimplemented initializer 'init(size:)' for class

我在不同的设备上测试我的应用程序,发现Sprite移动非常不一致(与其他设备相比,在某些设备上运行速度要快得多)。我找到了thispost并按照说明从我所有的SKScene中删除了大小参数,然后我得到了错误:fatalerror:useofunimplementedinitializer'init(size:)'forclass'SuperGame.PosterScene'请查看下面我的PosterScene类和调用它的GameViewController类。海报场景classPosterScene:SKScene{overrideinit(){super.init()letposte

ios - fatal error : use of unimplemented initializer 'init(realm:schema:)'

我的问题:昨天,我将我的项目(用Swift编写)的Realm框架从0.91.5更新到0.92.0。我发现RealmTeam已经把Swift部分和Objective-C部分从之前的整个CocoaFramework中分离出来了,团队也改了语法。我已经将我的代码更正为最新的Realm语法,但是我在使用init()时仍然遇到了一些问题。错误:编译器抛出错误:fatalerror:对CardModel使用未实现的初始化程序init(realm:schema:)。问题是以前版本的Realm没有发生这个错误。我在项目中使用了MultiPeerConnectivity框架,这意味着我需要Encode和

cocoa - Swift 和 Core Data 错误 : fatal error: use of unimplemented initializer 'init(entity:insertIntoManagedObjectContext:)'

我有以下继承自NSManagedObject的类:importFoundationimportCoreDataclassNote:NSManagedObject{@NSManagedvartext:String@NSManagedvarname:Stringinit(name:String,text:String,context:NSManagedObjectContext){letentity=NSEntityDescription.entityForName("Note",inManagedObjectContext:context);super.init(entity:entit