#import Objective-C开发者应该小心谨慎地遵循这个危险咒语的各种准则。一个很好的原因的就是:混乱的运行时代码会改变运行在其架构之上的所有代码。从利的角度来讲,中的函数具有其他方式做不到的、能为应用和框架提供强大功能的能力。而从弊的角度来讲,它可能会会毁掉代码的sanity meter...
分类:
其他好文 时间:
2014-07-15 00:20:22
阅读次数:
358
一些Swift的问题列表:How to use a Objective-C #define from SwiftHow do I convert an NSDictionary to a Swift Dictionary?Swift: 'var' declaration without getter...
分类:
其他好文 时间:
2014-07-14 23:20:20
阅读次数:
205
随着iOS平台开发的职位的增加,笔试、面试也越来越有“套路”,这里我总结了一些面试题,多数是Objective-C的基础知识,适合于面试新人,答案是我自己答的,不准确的地方,欢迎指出。1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分...
分类:
移动开发 时间:
2014-07-14 21:37:08
阅读次数:
278
控制传递语句(Control Transfer Statements)
控制转移语句改变你代码的执行顺序,通过它你可以实现代码的跳转。Swift有四种控制转移语句。
continue
break
fallthrough
return
我们将会在下面讨论continue、break和fallthrough语句。return语句将会在函数章节讨论。
Continue
...
分类:
其他好文 时间:
2014-07-14 20:37:17
阅读次数:
340
在WWDC大会中发布了Swift让人眼前一亮。终于加了很多的现代编程语言该有的东西。很早年以前玩C#3.0+的时候这些差不多类似的已经用的烂熟的东西终于一点一点的在看Swift Programming Language的时候再唤醒。Swift较之于OC(Objective-C)在愈发上几乎是一门新的...
分类:
其他好文 时间:
2014-07-14 20:32:04
阅读次数:
285
条件语句
根据特定的条件执行特定的代码通常是十分有用的,例如:当错误发生时,你可能想运行额外的代码;或者,当输入的值太大或太小时,向用户显示一条消息等。要实现这些功能,你就需要使用条件语句。
Swift 提供两种类型的条件语句:if语句和switch语句。通常,当条件较为简单且可能的情况很少时,使用if语句。而switch语句更适用于条件较复杂、可能情况较多且需要用到模式匹配(patte...
分类:
其他好文 时间:
2014-07-14 17:09:44
阅读次数:
319
经验:多重继承比单一继承复杂。它可能导致新的歧义性,以及对 virtual 继承的需要
示例:
class BorrowableItem{
public:
void checkOut();
};
class ElectronicGadget{
private:
bool checkOut() const;
};
class MP3Player:
public BorrowableItem
public ElectronicGadget
{...};
MP3Player mp;
mp.checkOut...
分类:
编程语言 时间:
2014-07-14 13:38:11
阅读次数:
240
经验:可在derived class templates 内通过 "this->" 指涉 base class templates 内的成员名称,或藉由一个明白写出的 "base class 资格修饰符"完成。
示例:
class CompanyA{
public:
//...
void sendCleartext(const std::string &msg);
void sendEncrypted(const std::string &msg);
//...
};
class Company...
分类:
编程语言 时间:
2014-07-14 13:20:25
阅读次数:
263
经验:class 和 templates 都支持接口和多态。
对 classes 而言接口是显式的,以函数签名为中心。多态则是通过 virtual 函数发生于运行期
对 templates 参数而言,接口是隐式的,奠基于有效表达式。多态则是通过 templates 具体化和函数重载解析(function overloading resolution)发生于编译期。
示例1:显式接口和运行期多态
class Widget{
public:
Widget();
virtual ~Widget();
vir...
分类:
编程语言 时间:
2014-07-14 12:54:57
阅读次数:
195
经验:声明 template 参数时,前缀关键字 class 和 typename 可互换。请使用关键字 typename 标识嵌套从属类型名称;
示例1:
template
void print2nd(const C &container){
C::const_iterator *x;//歧义。如果const_iterator是个static成员变量,x是个global 变量,这里的 *就是乘
//...
}
示例2:
template
void pr...
分类:
编程语言 时间:
2014-07-14 11:06:02
阅读次数:
206