默认按页码顺序显示所有勘误,也可以通过选择印次,来查过该印次的勘误。如果您有新发现的勘误,欢迎提交!

  • 第16页
    P16,图2-11下一段第一行“UIViewController继承了UIResponder类”改为“它继承了UIResponder类”。
    王军花 提交于 2016-07-28 16:13 · 纸质版 · 第2印 ·
  • 第17页
    P17,第2段第1行“Supporting Files组只 有一个Info.plist文件”改为“HelloWorld组中还有一个Info.plist文件”
    王军花 提交于 2016-07-28 16:13 · 纸质版 · 第2印 ·
  • 第25页
    P25,图2-23 新创建的目标(图a为Swift版,图b为Objective-C版)
    改为(图a为Objective-C版,图b为Swift版)
    布边 提交于 2016-11-09 00:51 · 纸质版 · 第3印 ·
  • 第31页
    P31,最后一行,如图3-33,改为如图2-33
    xuzhaopeng 提交于 2016-09-29 11:35 · 纸质版 · 第2印 ·
  • 第66页
    P66,Objective-C代码,标号⑥下面注释 “labelName标签与textField之间的距离”改为“labelName标签与textView之间的距离”。
    王军花 提交于 2016-07-28 16:12 · 纸质版 · 第2印 ·
  • 第87页
    P168 代码贴图有误,两个都是objective-c的代码
    P136代码圈2的地方少了右括号,下面说明文字 将UITableViewStyle写成了UITanleViewStyle


    P87关于hidesWhenStopped属性的说明的错误的
    书上原话:
    “若hidesWhenStopped属性设置为false,则当控件处于非活动状态时,控件会隐藏”
    这句话应该是当hidesWhenStopped属性设置为true的时候
    另:swift3.0.1下UIActivityIndicatorView的isAnimating不是一个方法了,是一个属性


    P71 代码实现部分注释有误

    【作者回复】

    1、P168 代码贴图有误,两个都是objective-c的代码问题:

    override func viewDidLoad() {
    super.viewDidLoad()

    //设置导航栏
    self.navigationItem.rightBarButtonItem = self.editButtonItem()
    self.navigationItem.title = "单元格插入和删除"

    //设置单元格文本框
    self.txtField = UITextField() ①
    self.txtField.hidden = true
    self.txtField.delegate = self

    ... ...

    }

    //MARK: --实现数据源方法
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.listTeams.count + 1
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cellIdentifier = "CellIdentifier"

    let b_addCell = (indexPath.row == self.listTeams.count)

    var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) ②
    if (cell == nil) {
    cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier:cellIdentifier) ③
    }

    ... ...
    return cell
    }

    // ViewController.m文件

    - (void)viewDidLoad {
    [super viewDidLoad];

    //设置导航栏
    self.navigationItem.rightBarButtonItem = self.editButtonItem;
    self.navigationItem.title = @"单元格插入和删除";

    //设置单元格文本框
    self.txtField = [[UITextField alloc] init]; ①
    self.txtField.hidden = TRUE;
    self.txtField.delegate = self;

    ... ...
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView
     cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *cellIdentifier = @"CellIdentifier";

    BOOL b_addCell = (indexPath.row == self.listTeams.count);

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; ②

    if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
     reuseIdentifier:cellIdentifier]; ③
    }

    ... ...
    return cell;
    }

    2、P136代码圈2的地方少了右括号
    var cell: UITableViewCell! =
     tableView.dequeueReusableCellWithIdentifier(CellIdentifier)

    3、P136下面说明文字
    将UITanleViewStyle写成了UITableViewStyle
    4、P87关于hidesWhenStopped属性的说明的错误的
    4.8.1节最后一段“若hidesWhenStopped属性设置为false”改为“若hidesWhenStopped属性设置为true”


    netshutter 提交于 2016-12-19 16:40 · 纸质版 · 第3印 ·
  • 第462页
    P462,倒数第三段“AllowFragments。指定顶级节点可以不是数组或字典。”修改为 “AllowFragments。允许解析器可以解析那些不是JSON数组或字典的JSON数据片段。”
    王军花 提交于 2016-07-28 16:15 · 纸质版 · 第2印 ·
  • 第508页
    P508,“注意”那部分内容删除
    王军花 提交于 2016-07-28 16:15 · 纸质版 · 第2印 ·
  • 第524页
    P524,19.1.2节中删除“distance。从摄像机到中心坐标的距离。”这一行,本节第二段第一行最后的“5个”改为“4个”。
    王军花 提交于 2016-07-28 16:17 · 纸质版 · 第2印 ·
  • 第526页
    P526,19.2.1节的OC代码 MKPlacemark *lastPlacemark = placemarks.lastObject 修改为CLPlacemark *lastPlacemark = placemarks.lastObject
    王军花 提交于 2016-07-28 16:18 · 纸质版 · 第2印 ·