草庐IT

range-init

全部标签

swift - 无法将类型 'NSRange'(又名 'NSRange')的值转换为预期参数类型 'Range<Index>'(又名 'Range<Int>')

我正在尝试实现EasyGameCenterlink但我得到这个错误:Cannotconvertvalueoftype'NSRange'(aka'NSRange')toexpectedargumenttype'Range'(aka'Range')代码如下:staticfuncunarchive(_data:Data!)->Packet{vararchivedPacket=ArchivedPacket(index:0,numberOfPackets:0,nameLength:0)//,dataLength:0letarchivedStructLength=sizeof(ArchivedPa

swift - 为什么在使用 init(contentsOfFile :)?) 创建字符串时多了一个换行符

我试图读取包中文件的内容并将其放入字符串变量中。我使用了init(contentsOfFile:)初始化程序。但是,字符串末尾似乎总是有一个额外的\n字符。这是一个MCVE:letstring=try!String(contentsOfFile:Bundle.main.path(forResource:"test",ofType:"txt")!)print(string.debugDescription)test.txt是这样的:HelloWorldByeWorld请注意,我没有在末尾插入新行。这可以通过查看行数来证明:上面的代码产生了这样的输出:"Hello\nWorld\nBye\

ios - 调用 Realm().objects 时使用未实现的初始化程序 'init(realm:schema:)'

我正在尝试通过使用检索Realm的对象Realm(path:Realm.defaultPath).objects(Fruits)这是我得到的结果:12:7:fatalerror:useofunimplementedinitializer'init(realm:schema:)'forclassDB.Fruits该对象只有以下初始化:requiredinit(){super.init()nextPrimaryKey()}我已经查看了有关init()问题的所有信息,但是没有一个解决了问题(包括这个almost-exactquestion)。知道如何解决吗? 最佳

ios - 更新到 Xcode 6.1 后 "Use of property ' nibName ' in base object before super.init initializes it"

我的iOS应用程序中有这段代码,是用Swift编写的:classAddHomeViewController:UITableViewController,UITextFieldDelegate{...requiredoverrideinit(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){super.init(nibName:nibName,bundle:nibBundle)}更新到Xcode6.1后,我在super.init(nibName:nibName,bundle:nibBundle)行收到这些错误。它之前工

ios - 错误 : "array index out of range" in multidimensional array

我已经声明了我的数组vartile=[[Int]]()然后我像初始化它的值一样for(varindex=0;index运行时报错“数组索引超出范围” 最佳答案 正如评论员@C_X和@MartinR所说,您的数组是空的。以下是如何根据需要对其进行初始化...vartile=[[Int]](count:4,repeatedValue:[Int](count:4,repeatedValue:0))forindexin0.....当然,for循环现在是多余的,如果您只想要零! 关于ios-错误:

swift - 如何使用 init 变量在 swift 中创建单例

我正在尝试在swift中创建一个单例类,但出现错误“无法创建带有元素标签的单元素元组”我不明白。classGroupObject{//wewantthegroupobjecttobeasingletonvarname:Stringvarid:IntvargroupJsonObject:JSONinit(groupJsonObject:JSON){self.groupJsonObject=groupJsonObjectself.id=groupJsonObject["id"].int!self.name=groupJsonObject["name"].string!}classvarsh

swift - 输入 'Range<CGFloat> does not conform to protocol Sequence' (Swift 3)

这个问题在这里已经有了答案:Swift3:replacecstylefor-loopwithfloatincrement(1个回答)关闭5年前。我想在这里使用CGFloat做一个for循环,但我收到一个错误提示Type'RangedoesnotconformtoprotocolSequence'我尝试运行的代码如下。错误发生在代码末尾的“for”循环中。funcsetupBackgroundSea(){//puttingthebackground//lettexture=SKTexture(imageNamed:"background")texture.filteringMode=.n

swift - 从 Storyboard启动的初始应用程序无法调用 NSDocument init

我使用Xcode模板编写了一个带有Storyboard的macOS文档类型应用程序,并且沿线的某处初始应用程序启动和文档之间的关联与预期模式不同,因此没有NSDocument初始化程序我希望在应用程序首次启动时被调用(但此后每个新窗口都会被调用)。我已经将所有四个记录在案的NSDocument初始化程序子类化,如下所示:publicclassSimulation:NSDocument{overrideinit(){debugPrint("--------------------\(#file)->\(#function)called")super.init()}init(content

ios - 如何在 init 中捕获错误(来自解码器 :Decoder) from a Codable struct?

letjsonString="""{"name":1,"gender":"male",}"""structPerson:Codable{varname:Stringvargender:Stringpublicinit(fromdecoder:Decoder)throws{do{letcontainer=trydecoder.container(keyedBy:CodingKeys.self)name=trycontainer.decode(String.self,forKey:.name)gender=trycontainer.decode(String.self,forKey:.ge

ios - 为什么 range.length 值在 shouldChangeCharactersInRange 委托(delegate)方法中因退格而改变?

在我将用户限制为最多24个字符后,我试图弄清楚这一行对退格键的效果如何。但我不知道它是如何工作的。我试图找出range.length的值,如果我插入一些字符,它会设置为0。但是当我在删除字符时按下后退按钮时,我将值设置为1?这是为什么?functextField(textField:UITextField,shouldChangeCharactersInRangerange:NSRange,replacementStringstring:String)->Bool{println("rangeis\(range)")println("rangelocationis\(range.loc