草庐IT

ios - 查找选择了哪个结构实例

我有一个结构structArea{varname=String()varimage=String()}vararea=[Area]()然后我创建了它的两个实例letcities=[Area(name:"CityA",image:"CityImgA"),Area(name:"CityB",image:"CityImgB"),Area(name:"CityC",image:"CityImgC")]lettowns=[Area(name:"TownA",image:"TownImgA"),Area(name:"TownB",image:"TownImgB"),Area(name:"TownC

在单独的文件中定义的 Swift 结构是否需要初始化程序?

我在单独的swift文件中定义了一个简单的结构,如下所示:importAppKit//DeclaringanewstructforCompanypublicstructCompanyStruct{varidCompany:Intvarcompany:StringvarcompType:String}但是,当我尝试使用此结构时,它会找到以下结构:varc=CompanyStruct我可以选择它,但是当我打开支架时没有提示任何参数。如果我将结构初始化为:importAppKit//DeclaringanewstructforCompanypublicstructCompanyStruct{

json - Swift JSON 序列化类型不匹配

目前正在纠结如何使用Decodable。我已经对遇到的错误进行了一些谷歌搜索,但我仍然相信我构建结构的方式不正确,但对我来说似乎很有意义。我也试过使用可选值在我最后发布的错误中,我对Double类型的引用感到困惑。因为我没有任何类型或任何使用double的响应。(我还可以使用将数据转换为字典的旧swift方法序列化json响应-[String:Any]。但我想使用现代/更新的方法。)JSON响应{"NEWS":[{"DATE":"2018-10-13T03:56:06+1000","SOURCE":"smh.com.au","BLURB":"AssistantTreasurerStua

Swift 3 - 集合中的结构

为什么下面的代码不起作用?我需要更改什么才能使其发挥作用?//:Playground-noun:aplacewherepeoplecanplayimportCocoastructPerson:CustomDebugStringConvertible,Hashable{letname:Stringletage:Int//MARK:CustomDebugStringConvertiblevardebugDescription:String{return"\(name)is\(age)yearsold"}//MARK:HashablevarhashValue:Int{returnname.h

ios - Swift:构建还是不构建

我终于从Objective-C转向了Swift。我正在为我的客户创建一个View布局系统,使他们的应用程序在布局上更加灵活,而不使用自动布局,因为他们想远程设计他们的屏幕,而自动布局对他们来说太复杂了。我尝试使用structs和protocols来做到这一点,但我发现它很笨拙,所以我怀疑我没有以正确的方式思考它。对于类,结构如下:classViewModel{varframe:CGRect=.zero}classViewGroupModel:ViewModel{varweight:Int=1varchildren:[ViewModel]=[ViewModel]()}classHoriz

swift - 为什么 Swift 库使用 "enum CommandLine"而不是 "struct CommandLine"?

Swift标准库将CommandLine声明为枚举。///Command-lineargumentsforthecurrentprocess.publicenumCommandLine{///AccesstotherawargcvaluefromC.publicstaticvarargc:Int32{get}///AccesstotherawargvvaluefromC.Accessingtheargumentvector///throughthispointerisunsafe.publicstaticvarunsafeArgv:UnsafeMutablePointer?>{get}

ios - 定义结构时的错误信息

我正在用Swift编写一个结构体:structLevelDictionary{letkNumberOfSegments:Int=10staticfuncloadLevelData()->NSDictionary{forvarsegmentNumber=0;segmentNumber出于某种原因,我在编译时遇到错误:Instancemember'kNumberOfSegments'cannotbeusedontype'LevelDictionary'。我错过了什么?当我将LevelDictionary设置为类时,我遇到了同样的错误。 最佳答案

Swift Struct 的引用计数

我有一个关于结构的问题在WWDC2016中,session推荐使用sturct(值类型)但是如果结构有3个以上的内联变量字,结构必须管理引用计数以将大值存储到堆中那么我的问题是当结构有3个另一个结构并且每个结构有2或3个另一个结构或值类型时我想知道在这种情况下是否使用引用计数是如何工作的下面是结构的例子structViewModel{vartitleModel:TitleModelvarcontentModel:ContentModelvarlayoutModel:LayoutModel}structTitleModel{vartext:Stringvarwidth:Floatvarh

ios - 为什么我们需要为 Swift 中的类编写初始化程序,而不是为 Struct 编写初始化程序

这个问题在这里已经有了答案:Whydoesn'tSwiftprovideclassesmemberwiseinitializers?(1个回答)关闭6年前。Swift为struct类型提供MemberwiseInitializers。但是当涉及到class时,我们需要自己显式提供一个init()。我试图理解这样一个决定背后的逻辑。示例,structSomeStruct{varsomeVar:Int}//MemberwiseInitializersletstructInstance=SomeStruct(someVar:0)classSomeClass{varsomeVar:Int}le

swift - 扩展位于另一个结构内的结构

我正在尝试扩展一个已经在struct中的struct。当我写下面的代码时,我得到了declarationisonlyvalidatfilescope.structA{structAA{}}extensionA{extensionAA{}}在扩展里面写扩展是否无效? 最佳答案 似乎唯一的方法是:extensionA.AA{functest(){print("Test")}}它刚刚在我的Playground上工作 关于swift-扩展位于另一个结构内的结构,我们在StackOverflow上