免责声明: swift noob
嗨,我刚刚开始学习Swift,并且正在学习Swift编程语言(苹果在WWDC期间发布的书),我想知道“where”关键字是什么。它被用于
let vegetable = "red pepper"
switch vegetable {
case "celery":
let vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
let ve
是否可以在Swift语句中定义变量,然后在语句之外使用它?
var cellWidth = requiredWidth
if notification.type == "vote"{
var cellWidth = maxWidth - 80
println("cellWidth is \(cellWidth)")
println("maxWidth is \(maxWidth)")
}
println("cellWidth is \(cellWidth)
我在从Core数据中获取数据时遇到了问题。如果我的术语不具体或不精确,我很抱歉,但我是个掌握核心数据的新手。
我正在使用Xcode 7 beta版和Swift 2版,设备操作系统设置为8.4。
这句话:
let result = try managedContext.executeFetchRequest(dogFetch) as [Dog]?
给了我这个错误:"'AnyObject‘不能转换成’狗?‘“。
完整代码在这里:
do {
let dogEntity = NSEntityDescription.entityForName("Dog", inM
我正在使用C#中的sqlite数据库,需要一个sql查询的帮助,我不知道我想要得到的结果是否可以在一个查询中实现--我目前的解决方案效率很低,而且很差--我已经把它放在最后,但首先我的问题是……
我有两个表,歌曲和专辑,表如下所示
我需要写一个查询,以获得所有专辑记录,其中没有歌曲在歌曲表.
Songs
Artist Album Filename
Taylor Swift Red track1.mp3
Taylor Swift Red tra
我在我的ObjC项目中使用.h桥头文件来使用Swift类。但是没有任何Swift文件/头被编译到其中,只有来自环境的默认类。
查看正在生成的标头中的代码:
// Generated by Apple Swift version 1.2 (swiftlang-602.0.51.1 clang-602.0.51)
#pragma clang diagnostic push
#if defined(__has_include) && __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prolo
我正试图为我的应用程序创建一个归档文件,但在为iOS设备构建时,我遇到了一个分段错误。在为模拟器构建时,我不会遇到这个问题。到目前为止,我已经:
清理了我的项目
清理了我的构建文件夹
删除了我的派生数据文件夹
已安装Mac塞拉利昂
在更新到Sierra后安装了其他Xcode工具
多次重新启动Xcode/计算机
错误通常如下所示:
Call parameter type does not match function signature!
0 swift 0x000000010f4ab3ad PrintStackTraceS
如何在Swift中为交换机机箱创建noop块?Swift强制您在case下至少有一条可执行语句,包括default语句。我试着放一个空的{},但Swift不接受。这意味着Swift的switch case不能完全在if-else和if-else之间转换,因为在if-else中,您可以在条件中包含空代码。
例如:
switch meat {
case "pork":
print("pork is good")
case "poulet":
print("poulet is not bad")
在Swift 1.2中,我有:
if let filePath = NSBundle.mainBundle().pathForResource("some", ofType: "txt"),
data = String(contentsOfFile: filePath, encoding: NSUTF8StringEncoding) {
for line in data.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet()) {
/
我正在尝试自动化一个页面,基本上任务是从不同的行提取值。所有表的表名都是相同的,而且表中左边的值也是一样的,我需要获得相应的右边值,所以我尝试使用xpath。下面是几个表的html,但我在页面中还有4个,它们都有相同的表in。 Amos Status
Flow
Last Processed Message
Status
问题
最近,我在这段代码中的第三方实用程序(WEPopover)中遇到了一个警告:
_effectivePopoverContentSize = _contentViewController.contentSizeForViewInPopover;
这产生了以下警告:
warning: 'contentSizeForViewInPopover' is deprecated: first deprecated in iOS 7.0 - Use UIViewController.preferredContentSize instead. [-Wdeprecated-declarat
我在网上读过一些文章,这些文章说,作为一个初学者,学习在命令行中编写代码比熟悉编程和编写代码更好。我想学习Swift,并且一直在关注苹果的“Swift Programming Language”iBook中的“A Swift Tour”一章,但我一直在操场上这样做(如本章所建议的)。我开始在终端而不是Xcode游乐场编写Swift有什么好处吗?还是纯粹是个人喜好?
希望通过这个标题,很明显我没有问Swift是否支持Switch语句。我特别问的是Swift是否支持开关表达式,类似于C#的功能。
差别是微妙的,但很重要。开关语句是根据特定情况对代码行进行分组的一种方法。然而,开关表达式根据特定的情况返回值。
假设你有下面的枚举..。
enum SomeEnum {
case a
case b
case c
}
现在假设您需要根据特定的switch语句计算/返回一些值。目前,在Swift中,您必须使用开关语句来执行此操作.
let someEnumValue: SomeEnum = .a
let result: String
swi
我试图使用SWIFT1.2和2.0使我的代码可以编译,而不使用宏创建新分支。
您在自定义Swift编译器标志中定义的Swift宏不允许您像Obj那样自由地检查条件。
例如,在函数声明中,如果它像Obj。我可以做这样的事。
class ThisIsAClass
{
#if SWIFT_TWO_POINT_O
func foo(bar bar: String)
#else
func foo(#bar: String)
#endif
{
// Do some common code
// ...
如果希望同时分配一个字符串,并检查它在Swift中不为空。
if let alternative3Text = attributes.stringForKey("choiceThree") && alternative3Text != "" {
// do stuff with alternative3Text
}
这在Swift中是可能的吗,还是我必须做一个嵌套的if-语句?
使用Xcode 10和SWIFT4.2时,只要它们的元素也符合Hashable (Array、Dictionary等),就会有符合Hashable的其他类型。
目前,我的项目中有一些代码可以添加SWIFT4.1及以下版本的Hashable一致性,如下所示:
extension Array: Hashable where Element: Hashable {
public var hashValue: Int {
let prime = 31
var result = 1
for element in self {
result = prime * re
使用Swift 3.1
func foo() {
{ () -> Void in
print("oh, nice, now this works too!!!")
}()
}
foo()
工作..。但
func foo() {
print("Hi!")
{ () -> Void in
print("oh, nice, now this works too!!!")
}()
}
foo()
将导致
ERROR at line 2, col 2: cannot invoke
通过查看关于如何在Swift中使用SQLite的介绍性教程(在iOS上下文中),我看到了以下代码行:
let queryString = "INSERT INTO Heroes (name, powerrank) VALUES (?,?)"
教程网址:
我不明白这是否是SQL将解析的某些内容的Swift特性
它是一种字符串插值,比如:
var s = "The value is \(value)"
或者是别的什么东西?
几天前,我发布了一个Swift问题(),很快就得到了一个漂亮的答案。从那以后,,我一直试图在我的脑海中分解这句话:
case let word where excludedWords.contains(word):
由斯威夫特解析并执行。在我看来,“让这个词.”首先对部分进行计算,对于excludedWords中每个单词的出现,Swift都会将其传回用于计算的情况。我没有找到任何文件,苹果或其他,确切地解释了这是如何工作。
有人能给我详细解释一下这个结构是如何在Swift中工作的吗?
我已经按照在线文档初始化了用于iOS的Bluemix Push SDK
不幸的是,我的AppDelegate.swift中的"import BMSPush“语句引发了一个错误(没有这样的模块'BMSPush')。
在构建我的应用程序(目标: iOS 8.0)时,在BMSPushClient.swift上出现了13个问题,如以下屏幕截图所示:
我的配置如下:
XCode 7.0.1
Mac OS X 10.10.5
Cocoapods 0.39.0
Cocoapods报告了以下版本的已安装依赖项:
Using BMSAnalyticsAPI (0.0.20)
U