Objective-C中的Block的写法

objective-c中block是以 “ ^ ” 这个符号来开始定义的,block的的写法如下:

  • 作为局部变量时
    returnType (^blockName)(parameterTypes) = 
                    ^returnType(parameters) {...};
  • 作为属性(property)
    @property (nonatomic, copy) 
               returnType (^blockName)(parameterTypes);

    作为属性定义好之后,在implementaion中某方法中可以赋值,使用方法为

    self.cellForRowAtIndexPathCompletion = 
          ^UITableViewCell *      // 返回值 
          (UITableView *view, NSIndexPath *path) {
              return nil;
          };
  • 继续阅读

Swift坑爹的prepareForSegue

使用xcode6新建一个Swift的IOS工程,打开某个ViewController.swift文件,可以找到一段被注释掉了的代码,如果没有,则可以创建一个Cocoa Touch类,则可以看到了。这个被注释掉了代码是在页面在跳转之前会被调用的:prepareForSegue,但是自动生成的这段代码有点问题,先看下代码。
继续阅读

IOS的AutoresizingMask和AutoLayout

初涉IOS开发,还没完全踏入,借了本名叫《IOS编程》的庞然大书来翻,虽然书中是用Objective-c的,虽然Swift已然出道,不过个人认为这个对我这种还没入行的人来说,影响不大,反正感觉Swift做IOS开发,很多api都是直接copy过来的,只是整了下容而已,开发模式似乎也看不出翻天覆地的变化。看着看着,书中讲到控件自适应转屏的时候,就发现了很奇怪的问题,我的控件的“Show the Size inspector”上找不到那个设置AutoresizingMask的操作器……
继续阅读