swift之类型属性在swift1.2之后,swift支持了类储存属性。在类中的储存属性前面加 static 关键字声明一个类储存属性(作为class final的别名)。
在为类定义计算型类属性的时候,可以使用class来支持字类对父类的实现进行重写。
计算属性计算属性指的是该属性不是储存在对象中,而是在被访问时再计算出来的变量.例如
1234567class a{ var a:Int{ get{ return 50 } }}
因为没有set方法,所以这个属性是只读...
有时在写函数时会发生函数名和oc的selector中的某个函数名冲突的问题,原因是对于每个属性,oc都创建了一个形如setName:的函数。这时候,可以使用swift的属性观察器实现相同的功能。
可以用enum类型建立自定义的错误类型:
1234enum MyError: ErrorType { case NotExist case StartWithWrongLetter}
定义抛出异常的函数:
12345func handleString(String : String) throws -> String{ //code throw MyError.NotExist}
捕捉异常
1234do{ try // function that throws}catch MyError.NotE...
setter相关修饰符copycopy关键字常用于NSString、NSArray、NSDictionary.这些类有两个特点:
不可变(immutable)
遵守了NSCopying协议如果在赋值的时候希望对象是被复制一份而不是指向同一个对象那么就需要添加copy关键字
copy 关键字会影响setter方法:
1234567- (void)setName:(NSString *)newName { if (name != newName) { [name release]; name = [newName copy]; ...
swift中的指针为 unsafePointer , unsafeMutablePointer . 做参数时,可以如下用 func(&a)用.memory属性取得指针指向地址的值,如果指针指向的地址不存在会引起崩溃。那么可以先用.hasvalue判断是否为零,再使用.memory属性。
信号中有value属性
filter 方法 : 根据block判断是否传递信号,若block返回true则传递map 方法: 处理信号中的value,block的返回值为信号的新valueflattenmap方法:处理信号中的信号,就是当信号的value为另一个信号时,将事件从内部信号发送到外部信号
1.在storyboard中放置一个 table view cell,设置好identifier和content view的tag。2.实现 tableView:viewForHeaderInSection 方法:
1234567override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let cellIdentifier = "sectionHeader0" let he...
基本的UI设计Apple Watch 特征
隐私性
整体性
轻量化使用
关于App导航风格
栏式 :当应用有分栏信息时使用,使用者通过在一个页面选择一次来到达目标页面。
基于页面的:使用者通过水平滑动切换页面,在页面的底部有dot indictor,页面数量尽量少。
用户交互
基于动作的事件:轻触通常代表选择或者交互,是使用者和应用交互的主要方法。
手势
垂直滑动以滚动当前页面。
水平滑动以展示上一或下一页面。
左侧滑动返回父页面。
压力触摸:在触摸的基础上加上了压力程度感应。
数码表冠:让用户轻松地滚动长页面。
预览页面预览页面是程序的最重要的信息的快速...
$ git add filename增加到暂存区$ git commit -m 注释 提交更改$ git reset --hard HEAD^ 返回一个版本 或一定的版本号$ git reflog查看记录$ git checkout -b branchname新建并且转移分支$ git branch查看分支$ git checkout branchname转移分支$ git branch -d branchname 删除分支$ git status查看状态$ git add -A添加自动追踪的文件到暂存区
运用正则表达式可以找到文档中符合条件的内容
12title = re.search('<title>(.*?)</title>',html,re.S)title = re.findall('<title>(.*?)</title>',html,re.S)
search找到一个符合条件的就会停止,而findall会扫描整个文档找到尽可能多的符合条件的内容