问题标签 [swift-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 什么时候在 swift 中使用类而不是结构?哪种设计模式是 Swift 中最好的面向协议编程或面向对象编程?
我知道这个问题可以被认为是“太宽泛”,但是如果一些专家可以给我关于这个问题的想法或指导,那么决定我应该使用哪种设计范式会很有帮助?
我在OOP中创建了许多项目,当我观看并通过POP时,我了解到我们可以通过将类替换为Struct 和 Protocol的组合来实现类可以做的事情。
当我浏览 WWDC 活动视频时,他们引用了“不要从课堂开始,从协议开始”,我还浏览了示例和教程
但是,何时使用 Struct 或类还不是很清楚。有时我们需要使用 Class。
为了更详细地说明这个问题,
考虑一个示例应用程序:我必须在其中调用 Web 服务、获取数据、将它们转换为模型、在 UI 中绑定它们。我们在 iOS 中开发的基本简单应用程序。那么对于这个我应该使用什么方法?
为了澄清我的理解,我还浏览了开源 swift 应用程序源代码,但在大多数情况下,他们都使用了这些类。
所以在哪些情况下我们应该使用 **Classes而不是Struct 和 Protocol。?**
据我所知,当我们处理多线程时,POP 非常有助于减少重复代码并使代码无错误。
如果有人可以帮助我更清楚地理解这一点,那将非常有帮助。
如评论中所述(感谢您提供此链接)此答案为我提供了有关 Struct 和 Swift 的足够信息。
但我的另一部分问题是,如果任何开发人员试图快速开发应用程序,应该使用哪种设计模式。
我浏览了很多开源和教程,我发现所有地方都使用了类。更多的指导将对这个主题非常有帮助。
swift - How to use multiple subclasses for function parameter
Say I have 2 subclasses of a class but would like to pass either of those subclasses to a function and determine its type within the function how would that be done?
ios - JSON 写入错误中的类型无效,尝试通过 JSON 将自定义类发送到 .NET Web 服务
我正在尝试将数据发送到接受三个类型为(字符串、字符串、QBUser 类)的参数的 .NET Web 服务。在 Javascript 中,我会像这样以 JSON 格式发送参数:
我以前从未遇到过该方法的任何问题,并且 .NET 将能够将其直接分类到服务器上的类对象中。使用 Swift,到目前为止,我已经成功地发送了书中几乎所有类型的 JSON,但是我在发送自定义类/结构作为参数时遇到了问题。这是我当前的代码:
控制台显示的错误如下:
QBUUser 类不是 NSString、NSNumber、NSArray、NSDictionary 或 NSNull 的实例,所以我一直不知道如何将它传递给服务器。
有没有办法在尝试发送之前将 QBUUser 类转换为上面列出的任何对象类型?我试图在类上运行一个循环,那是一个完全不同的锤子包,但得到了一些关于不能 AnyHashable over Array Literal 或类似的错误。有没有更好的方法我还没有发现?
参数必须以这种方式,所以我被困在那里。我只需要将类发送到另一端,因为它本质上只是在键/值对中。
这是控制台中打印的类的样子:
ios - 快速访问类实例
我有一个 Graph 类,它是一个 UIView,我在里面初始化它mainVC.swift
:
现在我想访问我在 MainVC 中在不同类中创建的类实例内部的函数(以在 TableView 中填充数据)。
var g : Graph = MainVC.graph
返回“实例成员图不能在 MainVC 类型上使用”我也尝试过使用静态变量,但出现错误。
swift - Swift 类继承输出说明
在下面的代码中,为什么要myRide.drive()
打印一个类 Car
而不是“Driving at 200”?
我知道该类Futurecar
是从汽车类继承的。谢谢!
swift3 - 我的代码库中的控制器 swift 被定义为结构而不是类
我来自 Objc 背景和 swift 新手。
这个注释是什么意思“///以静态方式使用”
我真的需要这个 init() 吗?
在整个代码库中我没有写RecentItemsController(),那为什么需要这个构造函数定义呢?
swift - 单例模式的快速继承?
让这个类从不直接使用,只继承:
我如何default
在这里定义一个通用的静态单例?- 所以我可以:
我唯一能想到的就是创建一个protocol
需要实现FooApi
的内容。BarApi
但这似乎不是最理想的,宁愿写一个像这样的实现:
swift - 如何使用类扩展来覆盖协议扩展?
假设我有一个颜色模型:
在我的视图文件中,我向我的颜色模型添加了一些视图细节。这些细节不是特定于模型的,而是特定于视图的。
现在,当我在视图文件中使用我的颜色模型时,我希望我UnknownColor
的 s 将自己表示为"#000"
,但当UnknownColor
被转换为时,情况并非如此Color
。
我想避免对 进行公然的类型检查UnknownColor
,所以这样的解决方案并不理想:
我想不惜一切代价避免对颜色模型进行进一步的更改。
可能有许多Color
想要使用的协议实现,Color.representation
因此更改extension Color
toextension KnownColor
不是一种选择。
有没有办法可以重组我的代码,以便在实际是UnknownColor.representation
时使用?Color
UnknownColor
swift - 来自自定义类的 Swift addChild
我有个问题。
我制作了 swift 自定义类 test.swift 并希望将这个类中的精灵添加到 GameScene.swift
这是我的自定义类
在 GameScene 中,我将此函数称为
但是精灵没有显示在应用程序中,我没有看到任何错误。
如果我直接在 GameScene 中复制该功能,它就可以工作。
谁能帮助我我做错了什么?
非常感谢
swift - Swift 4:如何用一行中的值初始化一个类?
我在 Swift 4 中有一个简单的类,如下所示:
我想(在一行中)用这个对象的一个实例填充一个变量。
我试着这样做:
但这不起作用。我究竟做错了什么?
另请注意,这是:
作品。