0%

函数的返回值

在Swift函数中,函数返回值可以被忽略,但定义了返回值的函数必须返回一个值。

多重返回值函数

可以使用元组类型让多个值作为一个复合值从函数中返回。

阅读全文 »

RunLoop是让线程能随时处理事件但不退出的机制。RunLoop 实际上是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行Event Loop 的逻辑。

阅读全文 »

Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口。Nib文件是Interface Builder文档。通常您会使用Interface Builder设计应用程序的可视部分-例如窗口或视图。有些时候,您可能也用它来配置一些不可视的对象,例如控制器对象(用于管理窗口和视图)。实际上,所有这些操作都是在编辑一份Interface Builder文档,即在创建一份对象图。保存文件的时候,就是将该对象图进行归档,加载文件的时候,就是将对象图进行解档。

Nib文件—也就是对象图-可以包含占位对象,这种对象用于指涉存在于文档之外的对象。这些对象虽然不在文档中,但却可能含有文档内对象的引用,或者被文档内的对象引用。文件拥有者就是一种特殊的占位对象。

阅读全文 »

在使用NSMutableDictionaryNSUserDefaults时,经常会用到setValue:forKeysetObject:forKey两个方法,这两个方法的区别是什么,什么时候用setValue:forKey?什么时候用setObject:forKey呢?

先看下字典中setObject:forKey: setValue:forKey:setValue:forKeyPath: 的标准调用语句:

1
2
3
4
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:(nullable id) forKeyPath:(nonnull NSString *)];
[dict setValue:(nullable id) forKey:(nonnull NSString *)];
[dict setObject:(nonnull id) forKey:(nonnull id<NSCopying>)];

可以看出:

阅读全文 »