読者です 読者をやめる 読者になる 読者になる

A Day In The Life

とあるプログラマの備忘録

【訂正】プロの力を身につける iPhone/iPadアプリケーション開発の教科書

「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」の中に誤りがありましたので訂正させていただきます。

3-3 データを活用したアプリの作り方

235ページ下から4行目

訂正前

次のように、UILabel と UITextField
オブジェクトを配置します。Object Libraryから「Label」と「TextField」を選んで、ストーリーボードの「Detail」と表示されているシーンの上に配置してください。

訂正後

次のように、UIScrollView、UILabel 、UITextField オブジェクトを配置します。Object Libraryから「Scroll View」「Label」「Text Field」を選んで、ストーリーボードの「Detail」と表示されているシーンの上に配置してください。

UIScrollViewについての記述が抜けていました。

237ページ最終行

訂正前

次のように、UILabel と UITextField オブジェクトを配置してください

訂正後

次のように、UIScrollView、UILabel 、UITextField オブジェクトを配置してください。

235ページと同じく、UIScrollViewについての記述が抜けていました。

239ページソースコード

訂正前

@synthesize detailItem = _detailItem;

- (Person *)detailItem
{
  if (!_detailItem) {
    _detailItem = [NSEntityDescription
                          insertNewObjectForEntityForName:@"person")
                                         inManagedObjectContext:self.managedObjectContext];
    _detailItem.address = [NSEntityDescription
                                       insertNewObjectForEntityForName:@"address")
                                                      inManagedObjectContext:self.managedObjectContext];
  }
  return _detailItem;
}

訂正後

@synthesize detailItem = _detailItem;

- (Person *)detailItem
{
  if (!_detailItem) {
    _detailItem = [NSEntityDescription
                          insertNewObjectForEntityForName:@"Person")
                                         inManagedObjectContext:self.managedObjectContext];
    _detailItem.address = [NSEntityDescription
                                       insertNewObjectForEntityForName:@"Address")
                                                      inManagedObjectContext:self.managedObjectContext];
  }
  return _detailItem;
}

insertNewObjectForEntityForName: に渡す引数が小文字はじまりになっていました。正しくは大文字はじまりでした。

今後、間違いを見つけ次第この記事に追記していきます。

間違いがないように編集者さんと何度もレビューをしてチェックをしたつもりでしたがもれがありました。この場を借りで読者の皆様にお詫び申し上げます。また間違いを指摘してくださいました読者様ありがとうございました。
今後も本書の間違いや訂正があればこの記事に追記して行きます。