草庐IT

struct - 将结构内的 C 字符串转换为 Swift 字符串

我在Swift应用程序中使用现有的C库,并尝试将C字符缓冲区转换为Swift字符串。桥接.htypedefstruct{charmfg[8];charmodel[8];}motorcycle;voidGetMotorcycle(motorcycle*m);示例.swiftvarcycle=motorcycle(mfg:(0,0,0,0,0,0,0,0),model:(0,0,0,0,0,0,0,0));GetMotorcycle(&cycle)varmanufacturer:String=String.fromCString(cycle.mfg)//Error这会产生“找不到接受所提供

arrays - 对数组应用范围过滤器

我在寻找过滤数据的有效方法时遇到了麻烦。到目前为止我得到了什么:这样的结构:structBasicData{letn0:Double!letn1:Double!letn2:Double!}varbasicData=[BasicData]()添加数组后使用:basicData.append(BasicData(n0:55.15,n1:5.1,n2:2))basicData.append(BasicData(n0:2,n1:2.1,n2:25))basicData.append(BasicData(n0:45.15,n1:5.1,n2:15))我想创建一个新数组,其中包含所有n0>5&&n

ios - swift 错误 : Struct 'XX' must be completely initialized before a member is stored to

我正在尝试在Swift中定义AudioStreamBasicDescription。在Objective-C中,我使用了如下代码。AudioStreamBasicDescriptionASBD;ASBD.mSampleRate=8000;ASBD.mFormatID=kAudioFormatLinearPCM;ASBD.mFormatFlags=kAudioFormatFlagsCanonical|kAudioFormatFlagIsSignedInteger|kAudioFormatFlagIsPacked;ASBD.mFramesPerPacket=1;ASBD.mChannels

ios - 如何在 swift 2.0 (iOS) 的单例类中创建全局可访问的结构数据?

我是iOS编程的新手,而且速度很快。我正在尝试创建一个单例类来存储我的全局数据。我的全局数据是一个结构和这个结构的数组。我只想拥有此类的一个实例,因此是一个单例类。所有ViewController都应该可以访问和编辑全局数据。我一直在四处寻找,除了最后一部分,我几乎已经弄明白了。这是单例类:importFoundationsclassGlobal{structInfo{varfirstname:String!varlastname:String!varstatus:String!init(firstname:String,lastname:String,status:String){s

arrays - 是否可以创建一个结构实例数组?

我正在尝试创建一个这样的结构实例数组:letinstallers:[AnyObject]=[Homebrew(),Ls()]但是我得到这个错误:valueoftype'Homebrew'doesnotconformtoexpectedelementtype'AnyObject'当我没有给数组指定类型时,我得到一个不明确的类型错误,它需要更多的上下文。是否有可能完成我想做的事情?我搜索了所有内容,但找不到任何内容。 最佳答案 对于结构使用Any而不是AnyObject。letinstallers:[Any]=[Homebrew(),L

swift - 在 Swift 中保存结构

刚刚看了今年WWDC的几个关于Swift值类型的视频,BuildingBetterAppsWithValueTypesinSwiftProtocol-OrientedProgramminginSwift我发现自己已完全准备好在我的应用中采用值类型。这意味着更少的类类型和更多的结构。但是我该如何保存这些数据呢?以前,对于类,我会采用NSCoding,但这要求我采用NSObject,这将要求我使用类而不是结构。以下是我看到的选项:如果需要保存,模型对于Struct来说太复杂了,应该重新设计为一个类Designmyownserialization使用中介类我该怎么办?

objective-c - 从 Swift 访问 objective-c 结构

我正在开发一个混合了swift和obj-c代码的ios应用程序。我的一个obj-c模型类定义了一个包含字符串的结构,以帮助转换为字典并返回。我有桥接头设置,我可以在swift类中访问我的objective-c类中定义的方法。我想不通的是如何访问静态结构以获取我的属性字符串。这是我的.h和.m文件的片段:OrderItem.hexternconststructOrderItemAttributes{__unsafe_unretainedNSString*created;__unsafe_unretainedNSString*created_by_id;__unsafe_unretaine

optimization - 使用 "if let"解包堆栈对象(例如结构)

这是一个关于Swift可选堆栈对象(例如struct)和“iflet”的Swift编译器优化问题。在Swift中,“iflet”为您提供了一个语法糖来处理可选项。住在堆栈上的结构呢?作为一名C++程序员,我不会引入不必要的堆栈对象副本,尤其是,只是为了检查它是否存在于容器中。每次您使用“iflet”时,是否递归地复制结构及其所有成员,或者swift编译器是否已优化到足以通过引用或使用其他技巧创建局部变量?例如,我们将这个结构体打包成一个可选的:structMyData{vara=1varb=2//lotsmorestore....funcdescription()->String{re

swift - 如何在 Swift 中使用位域来存储超过 1 位的值

在C中我可以做这样的事情:structbyte_nibbles{unsignedcharb1:4;unsignedcharb2:4;unsignedcharb3:4;unsignedcharb4:4;unsignedcharb5:4;unsignedcharb6:4;unsignedcharb7:4;unsignedcharb8:4;};union{unsignedlongvar;structbyte_nibblesb;}u;intmain(void){u.b.b1=0x01;u.b.b2=0x02;u.b.b3=0x03;u.b.b4=0x04;u.b.b5=0x05;u.b.b6=

ios - 如何将 Struct 传递给需要 AnyObject 的方法?

我开始了解Swift中的Structs,并将我们应用程序的一个数据模型更改为Struct。在我们的ViewController中,我们使用这个方法:overridefunctableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){//Somecodeself.performSegueWithIdentifier("JobDetailSegue",sender:job)}上面的job是JobModel类型,这是我刚刚转换为结构的类。但是,在self.performSegueWithIdent