作者:Raj Kandathi,原文链接,原文日期:2015-08-15
译者:pmst;校对:numbbbbb;定稿:shanks

注:作者连续写了两篇文章,我们将译文合并到了一起

上篇

我们习惯于使用for-in语句来遍历集合,比如数组/字典。

举例来说:

let library = ["The Swift Programming Language", "The Pragmatic Programmer", "Clean Code", "Refactoring"]
for book in library {
  println(book)
}

我们把图书馆内容封装到一个数组当中;接着,视图层(UI layer)将从数据层(data layer)中获取一个图书馆对象。正如上面代码所示,图书馆对象是一个集合(这里为数组),支持用for-in语句遍历整个馆内藏书。

阅读全文

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

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

函数的基础

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

阅读全文

作者: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

阅读全文

作者: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

阅读全文