问题内容: 在Swift中,我可以通过声明如下来显式设置变量的类型: 如果我们想更进一步,并声明一个符合多种协议的变量,可以使用声明式: 如果我想声明一个符合一个或多个协议并且也是特定基类类型的对象,该怎么办?等效的Objective-C看起来像这样: 在Swift中,我希望它看起来像这样: 这使我们能够灵活处理基本类型的实现以及协议中定义的添加接口。 还有其他更明显的方式可能会让我丢失吗? 例
问题内容: 我正在通过Swift 2编写有关Swift的初学者教程。 它包含类似(随机示例)的代码 在Swift 3(我正在使用XCode 8 Beta)中,这已经发生了变化,并且IDE会帮助将其转换为新的(漂亮!)表示法: 让我感到困惑的是“ for segue:”中的“ for”。我知道为什么它在那里,但是它在语法上是什么样的元素?为参数命名, 或? 它仅仅是装饰吗?除了帮助开发人员理解上下文
问题内容: 以下内容之间有什么区别吗? 在Playground中进行的测试表明1和2相同,但3的行为有所不同。有人可以解释一下我的区别吗?而且,声明空数组的首选方式是什么? 问题答案: 前两个具有相同的效果。 声明一个变量,让它选择类型本身。看到时,它聪明地知道那是字符串的类型数组。 您将变量设置为字符串类型数组,然后说它为空 这是 不同的, 因为您只是告诉您要成为字符串的类型数组,而没有给它指定
问题内容: 我想在Swift中存储一系列弱引用。数组本身不应该是一个弱引用-它的元素应该是。我认为可可对此提供了非类型安全的版本。 问题答案: 创建通用包装,如下所示: 将此类的实例添加到您的数组。 定义时,可以使用或。 另外,为了帮助获取数组内容,您可以按照以下方式进行操作: 上面的用法应替换为-但我不认为当前的Swift语言允许这样定义扩展。
问题内容: 我的模块中有一个类型: 它被用于许多不同的类中,没有问题: 但是由于 某种原因 ,当我在一个 特定的 类中使用它时,在类型上出现编译错误: 编译错误是: EditTaskPopoverController.swift:15:49:使用未声明的类型’ColoredDotView’ 我不明白。这是文件中的第一个编译错误,其余错误都是第一个的症状。此外, 没有其他文件 存在编译错误。我不明白
问题内容: 我的应用程序有一个用于详细视图控制器的协议,指出它们必须具有一个属性: 我也有一些实现协议的不同类: 我的主视图控制器需要一个可以设置为实现该协议的任何子类的属性。 不幸的是,我找不到有关如何执行此操作的任何文档。在Objective-C中,这是微不足道的: 看来,Swift中没有可用的语法来做到这一点。我最接近的是在类定义中声明一个泛型: 但是然后我得到一个错误,说“类’Master
问题内容: 我正在使用Parse&ParseUI。我希望我的PFLoginViewController子类具有透明的背景。将来,我想在背景上放置模糊的视图。 但是…。一旦完成PFLoginViewController的动画输入,背景就会变成黑色…而在动画过程中背景是透明的。 我的logincontroller的子类: 如何使其透明? Ps将clearColor应用于子类中的backgroundCo
问题内容: 我试图快速制作一个文本字段,该文本字段将允许启用按钮,但前提是该文本字段包含整数。我怎样才能做到这一点? 问题答案: 通过添加到类声明,使您的视图控制器成为a 。 添加是为了你们的文本字段,你的按钮。 在中将按钮的属性设置为,并设置为。 实现方法。每次编辑文本字段时都会调用此方法。在其中,通过调用并根据需要启用/禁用按钮来检查当前文本字段是否转换为。 这是代码:
问题内容: Swift需要详尽的switch语句,并且每种情况都有可执行代码。是否有人愿意以一种好的方式来处理您不想实际做任何事情的情况?我可以在其中放一个println(),但这感觉很脏。 问题答案: 根据这本书,您需要在此处使用: 每个案例的范围不能为空。因此,您必须在每个案例标签的冒号(:)之后至少包含一个语句。如果您不想在匹配大小写的主体中执行任何代码,请使用单个语句。
问题内容: 注意 :我已经搜索了很多,例如UITableViewDataSource方法的无效重新声明?不适用于我的情况。因为我的代码中没有重复的文件或类。 我的项目中只有一个AppDelegate.swift文件,文件中只有一个类。但是我有 我在AppDelegate.swift文件中也有以下代码。我得到以下错误。 注意 ,我在项目中使用了重复的类或变量声明,并且代码中只有一次声明。 问题答案:
问题内容: 是什么使图像变成1x,2x或3x(@ 1x,@ 2x,@ 3x)?如何制作3x图像? 问题答案: iOS在其坐标系中使用点而不是像素。在原始的非视网膜设备(iPhone,iPhone3G,iPhone3GS,iPad,iPad 2,iPadmini和早期的iPodtouch)中,坐标系中的一个点映射到设备屏幕上的一个像素。那时,生活很简单,您为应用程序提供了映射到点大小的图像,并且一切
问题内容: 我在Xcode中创建了一个空项目。 当我按下运行按钮时,它显示一个窗口。如何更改其外观,例如窗口的透明度等。 我已经搜索了很多,但是每个人都使用变量来像这里一样进行更改,但是如何创建实例? 我是Mac应用程序开发的新手。有人可以写一个详细的答案吗? 谢谢! 问题答案: 您可以按如下方式获取应用程序窗口的实例: 从NSApp获取窗口(共享应用程序实例的全局常量): 或覆盖或访问视图的wi
问题内容: 我当然希望我缺少一些东西,因为我不明白为什么这样做会起作用。我有一个PNG图片,它具有完全透明的背景,因为我想将其覆盖在内的其他图片上。 XCode项目中包含的PNG图像都可以正常工作。问题是,当我使用即时选择这些相同的PNG图像,然后将其分配给时,出于某些非常奇怪的原因,它没有将其视为具有透明性的PNG图像,而是添加了白色背景。 有人以前见过这个,我该如何解决? *更新#1: 我决定
问题内容: XMLHttpRequest可以从http:// mydomain.com/向http:// mydomain.com:81/发送请求吗? 问题答案: 要使两个文档具有相同的来源,协议(http / https),域和端口(默认为80或:xx)必须相同。因此,不能,您不能对其他端口使用xhr。
问题内容: 我正在使用以下代码进行跨域JSONP调用: 在Firebug中进行调试时,出现以下错误: 但是,当我通过jsonlint.com之类的工具传递我的json对象(可通过JQ代码中的链接获得)时,它说这是有效的JSON。而且我也没有发现任何异常。它怎么可能返回语法错误?是我没有得到的一些JSONP详细信息还是什么? JSON样本 提前致谢。 问题答案: JSONP不是JSON。JSONP响