Hi,SwiftGG 翻译组启用了新的域名:swiftgg.team今后翻译组的各项活动将会在新域名下开展,不要错过哦!

作者:Olivier Halligon,原文链接,原文日期:2015-08-28
译者:小锅;校对:numbbbbb;定稿:shanks

今天我们要研究 Swift 函数中一些好玩的特性,比如返回函数的函数,柯里化以及运算符函数。

函数的基础

在这篇文章中,我们将使用一个返回 Bool 类型的函数来判断它的参数是否匹配某个条件,这个函数接收一个 Int 类型的参数。像这类功能可以使用filter方法对整型数组进行过滤。

阅读全文

作者:Natasha,原文链接,原文日期:2015-08-30
译者:小铁匠Linus;校对:Prayer;定稿:shanks

昨天,我抽空看了Swift in Practice WWDC15 Session的视频,很喜欢其中对 Image 命名的处理建议。

这个视频里解决的问题是方法UIImage:named:总需要传入硬编码(hard-coded)的字符串参数,然后返回一个可空(optional)的UIImage。这就意味着可能会有两种出错的情况:一种是字符串的拼写错误;另一种是对可选的UIImage不正确解包。

阅读全文

作者:Arthur Knopper,原文链接,原文日期:2015-07-09
译者:lfb_CD;校对:numbbbbb;定稿:shanks

苹果公司提供了UIimagePickerController-这是一个使用 iOS 设备内置的摄像头来拍摄视频的可视化界面。在此教程中,我们将拍摄一段保存到手机相册的视频。教程运行在 iOS 8.4 和 Xcode 6.4 下。

打开 Xcode 并创建一个new Single View Application,项目名称为IOS8SwiftTakeVideoPlayerTutorial,接着填上你的Organization NameOrganization Identifier,选择 Swift 语言,在设备一栏只选择 iPhone。

阅读全文

作者:Arthur Knopper,原文链接,原文日期:2015-07-09
译者:lfb_CD;校对:numbbbbb;定稿:shanks

苹果公司提供了UIimagePickerController-这是一个使用 iOS 设备内置的摄像头来拍摄视频的可视化界面。在此教程中,我们将拍摄一段保存到手机相册的视频。教程运行在 iOS 8.4 和 Xcode 6.4 下。

打开 Xcode 并创建一个new Single View Application,项目名称为IOS8SwiftTakeVideoPlayerTutorial,接着填上你的Organization NameOrganization Identifier,选择 Swift 语言,在设备一栏只选择 iPhone。

阅读全文

作者:Raj Kandathi,原文链接,原文日期:2015-08-31
译者:小铁匠Linus;校对:Prayer;定稿:shanks

枚举是用来表示值的“类型”,其中这些值之间是类似的。假如现在有个应用叫MyFamily,你每次打开这个应用它都会展示你家庭中的成员以及成员之间的关系。现在,家庭中每个成员跟你就只有那么几种关系(值)。这种关系可以用枚举类型的FamilyRelationshipType来表示。

这个FamilyRelationshipType在本质上是一种全新的数据类型。

阅读全文

作者:Natasha,原文链接,原文日期:2015-08-30
译者:小铁匠Linus;校对:Prayer;定稿:shanks

昨天,我抽空看了Swift in Practice WWDC15 Session的视频,很喜欢其中对 Image 命名的处理建议。

这个视频里解决的问题是方法UIImage:named:总需要传入硬编码(hard-coded)的字符串参数,然后返回一个可空(optional)的UIImage。这就意味着可能会有两种出错的情况:一种是字符串的拼写错误;另一种是对可选的UIImage不正确解包。

阅读全文

作者:Natasha,原文链接,原文日期:2015-08-17
译者:小铁匠Linus;校对:Channe;定稿:小锅

自从令人兴奋的Swift 面向协议编程 WWDC 讲座发布,我就在思考协议的用法。但是现实中,我并没有使用过它们。我仍在消化面向协议编程的含义,之后就可以在代码中用面向协议编程模式替换面向过程编程模式了。

一个庞大的案例涌上心头:MVVM ! 我之前用过 MVVM,如果你想要具体了解,可以看我之前发表的关于 MVVM 的博客。不过面向协议的内容都在本篇文章。

阅读全文

作者:Natasha,原文链接,原文日期:2015-07-29
译者:Channe;校对:numbbbbb;定稿:小锅

早上我看到@jesse_squires发了个好推:

#Swift小贴士: 在IBOutletsdidSet中设置视图,而不是将代码塞满viewDidLoad。这样更清晰,同样只被调用一次.

– Jesse Squires (@jesse_squires) 2015 年 7 月 29 日。

设置 App 界面元素的颜色、字体和辅助功能总是很痛苦。理想情况下,storyboard 能搞定,但是 storyboard 中的颜色管理相当糟糕(可以用Xcode调色板缓解这种痛苦)。更糟糕的是,比之更高级的辅助功能选项并不能在 storyboard 中设置。

阅读全文

作者:Raj Kandathi,原文链接,原文日期:2015-08-31
译者:小铁匠Linus;校对:Prayer;定稿:shanks

枚举是用来表示值的“类型”,其中这些值之间是类似的。假如现在有个应用叫MyFamily,你每次打开这个应用它都会展示你家庭中的成员以及成员之间的关系。现在,家庭中每个成员跟你就只有那么几种关系(值)。这种关系可以用枚举类型的FamilyRelationshipType来表示。

这个FamilyRelationshipType在本质上是一种全新的数据类型。

阅读全文

作者:Dominik Hauser,原文链接,原文日期:2015-08-12
译者:SergioChan;校对:shanks;定稿:小锅

Auto Layout是一件很神奇的事情。像一个巫师一样告诉元素应该去什么位置并且让他们守规矩。你并不需要亲自将元素放到那些位置去。感觉像是天地因为你的咒语而将他们移动了。

但是你应该在什么时候念“咒语”呢?换句话说,当你没有使用界面生成器(Interface Builder)的时候,你应当把Auto Layout的代码放在哪呢?

阅读全文

作者:Dominik Hauser,原文链接,原文日期:2015-08-12
译者:SergioChan;校对:shanks;定稿:小锅

Auto Layout是一件很神奇的事情。像一个巫师一样告诉元素应该去什么位置并且让他们守规矩。你并不需要亲自将元素放到那些位置去。感觉像是天地因为你的咒语而将他们移动了。

但是你应该在什么时候念“咒语”呢?换句话说,当你没有使用界面生成器(Interface Builder)的时候,你应当把Auto Layout的代码放在哪呢?

阅读全文

作者:Greg Heo,原文链接,原文日期:2015/08/17
译者:ray16897188;校对:shanks;定稿:numbbbbb

抱歉,由于没有拿到作者授权,我们无法继续提供这个内容。

如果你真的很需要查看中文译文,可以去阅读译者文章

你也可以去首页看看我们的其他文章!

作者:Jameson Quave,原文链接,原文日期:2015-08-23
译者:mmoaay;校对:numbbbbb;定稿:shanks

本文写于 2015 年 8 月 23 日,与 Xcode7 Beta 版和 Swift 2 兼容

在 Swift 中读 C 指针

下面这个 Objective-C 方法会返回一个 int 指针,或者说 C 术语里面的 (int *)

@interface PointerBridge : NSObject {
int count;
}
- (int *) getCountPtr;
@end

@implementation PointerBridge
- (instancetype) init {
self = [super init];
if(self) {
count = 23;
}
return self;
}
- (int *) getCountPtr {
return &count;
}
@end

阅读全文