Tag: 迅捷

理解Swift 2.2 Selector语法 – #selector()

我将我的项目语法切换到Swift 2.2(xCode帮助我自动执行); 不过,我不明白新的#selector()语法。 举个例子: timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(MyVC.timerCalled(_:)), //new selector syntax! userInfo: nil, repeats: true) 这有select器#selector(MyVC.timerCalled(_:)) _:是什么意思? 你可以添加其他variables到这个select器? 说, #MyVC.timerCalled(_:whateverVar) 。 不同于早期版本的Swift的基于string的实现,在这个语法中有什么不同的一般信息非常感谢。

用Swift在iOS中发送短信

首先,我真的很惊讶这不是重复的,因为在Objective-C中有很多解决这个问题的stackoverflow问题,但是我还没有看到使用Swift的很好的答案。 我在找的是Swift中的代码片段,它将任意string作为文本消息的主体发送给给定的电话号码。 从本质上讲,我想从苹果官方文档中得到类似的东西,但是在Swift中而不是在Objective-C中。 我想这不是太困难,因为它可以在Android的几行代码中完成。 编辑:我正在寻找的是5 – 20行的斯威夫特代码,我不同意这是太宽泛。 在Java(对于Android)中,解决scheme如下所示: package com.company.appname; import android.app.Activity; import android.telephony.SmsManager; public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); public static final mPhoneNumber = "1111111111"; public static final mMessage = "hello phone"; SmsManager.getDefault().sendTextMessage(mPhoneNumber, null, mMessage, null, null); } } 现在这是android解决scheme,它只有11行。 Java倾向于比Swift更详细,所以我怀疑我所要求的是“太宽泛”,更可能是我不知道如何使用Objective-C MessageComposer对象,因为我链接的文档至于以上在Swift中的使用方面还不清楚。

在Swift3中NSIndexPath初始化是如何改变的?

我试图跟随苹果的开始开发iOS应用程序(Swift)教程,并已几乎完成。 我不得不修改本教程的几个部分,因为我使用Xcode 8(我认为使用Swift 3而不是Swift 2)。 但是,我遇到以下编译器错误,我不知道为什么: Argument labels (forRow:, inSection) do not match any available overloads 在以下function中: @IBAction func unwindToMealList(sender: UIStoryboardSegue) { if let sourceViewController = sender.sourceViewController as? MealViewController, meal = sourceViewController.meal { // Add a new meal let newIndexPath = NSIndexPath(forRow: meals.count, inSection: 0) meals.append(meal) tableView.insertRows(at: newIndexPath, with: .bottom) } } 我猜测,有一个不同的初始化NSIndexPath在Swift 3中更改,但我找不到它。 难道我做错了什么? […]

这里有什么错误:实例成员不能用于types

我有下面的代码,我很困惑这个错误消息: 实例成员'mydate'不能用于'TableViewController'types 码: class TableViewController: UITableViewController { let mydate = NSDate() let items = [ (1, 9, 7, "A", mydate), (2, 9, 7, "B", mydate), (3, 9, 7, "C", mydate), (4, 9, 7, "D", mydate) ] 当我写下面的,我可以build立它,但我不知道为什么奥德代码片段不工作: class TableViewController: UITableViewController { let mydate = NSDate() let items = [ (1, 9, 7, "A", nil), (2, […]

将AnyObject以swift格式转换为Dictionary

我从AFNetworking的iTunes API获取数据,我想创build一个字典与响应,但我不能做到这一点。 错误:无法将expression式的types“Dictionary”转换为键入“Hashable” 这是我的代码: func getItunesStore() { self.manager.GET( "https://itunes.apple.com/es/rss/topfreeapplications/limit=10/json", parameters: nil, success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in var jsonResult: Dictionary = responseObject as Dictionary }, failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in println("Error:" + error.localizedDescription) }) }

如何在视图控制器中以编程方式切换视图? (Xcode,iPhone)

有一段时间一直在挣扎,似乎永远不能得到直接的答案。 任何帮助表示赞赏!

如何添加无价值的Swift Dictionary?

我在我的应用程序中向我的服务器发出了请求。 并发布数据像这样。服务器端正在等待所有参数,即使他们是零。 但是我不能将零值添加到字典中。 var postDict = Dictionary<String,AnyObject> postDict[pass]=123 postDict[name]="ali" postDict[surname]=nil // dictionary still has only pass and name variables. 有没有办法将零值添加到字典?

在Swift 2中用自定义消息抛出错误/exception的最简单方法是什么?

我想在Swift 2中做一些我习惯于用其他语言来做的事情:用自定义消息抛出一个运行时exception。 例如(在Java中): throw new RuntimeException("A custom message here") 我明白,我可以抛出符合ErrorType协议的枚举types,但我不想为每个types的错误定义枚举。 理想情况下,我希望能够尽可能地模仿上面的例子。 我研究了创build一个实现ErrorType协议的自定义类,但我甚至不知道该协议需要什么(请参阅文档 )。 想法?

为什么Swift在这个image processingtesting中比C慢100倍?

和许多其他开发者一样,我对于苹果的新Swift语言感到非常兴奋。 苹果宣称其速度比Objective C更快,可用于编写操作系统。 从我迄今为止所了解到的情况来看,这是一种静态types语言,能够精确控制确切的数据types(如整数长度)。 所以它看起来像具有良好的潜在处理性能的关键任务,如image processing,对吗? 这是我进行快速testing之前的想法。 结果真的让我很吃惊。 这里是一个简单的C代码片段: test.c的: #include <stdio.h> #include <stdint.h> #include <string.h> uint8_t pixels[640*480]; uint8_t alpha[640*480]; uint8_t blended[640*480]; void blend(uint8_t* px, uint8_t* al, uint8_t* result, int size) { for(int i=0; i<size; i++) { result[i] = (uint8_t)(((uint16_t)px[i]) *al[i] /255); } } int main(void) { memset(pixels, 128, 640*480); memset(alpha, 128, 640*480); memset(blended, 255, […]

如何在Swift中打印“catch all”exception的详细信息?

我正在更新我的代码使用Swift,我想知道如何打印错误的详细信息,匹配“catch all”子句的exception。 我稍微修改了这个Swift语言指南页面中的例子来说明我的观点: do { try vend(itemNamed: "Candy Bar") // Enjoy delicious snack } catch VendingMachineError.InvalidSelection { print("Invalid Selection.") } catch VendingMachineError.OutOfStock { print("Out of Stock.") } catch VendingMachineError.InsufficientFunds(let amountRequired) { print("Insufficient funds. Please insert an additional $\(amountRequired).") } catch { // HOW DO I PRINT OUT INFORMATION ABOUT THE ERROR HERE? } 如果我发现意外的exception,我需要能够logging什么导致它。