XCode4.2学习日志 2013.4.15
嘿嘿 ,应该不能叫日志了,学习了很长时间了,主要是学习《iOS5开发基础教程》这本书,差不多看完了
这次写主要是看书中发现的翻译或原版本身存在的一些错误,不是一次写的,比较乱。
2013.1.30
1、书327页,页面中间靠下点的源码
@synthesizelanguageButton;
@synthesizelanguagePopoverController;
@synthesizelanguageString;
缺少空格,应该是
@synthesize languageButton;
@synthesize languagePopoverController;
@synthesize languageString;
2、书328页,页面中间代码
// Update the view.
[self configureView;
缺少一个“]”,应该是
// Update the view.
[self configureView];
2013.2.5
1、书中第342页中间,“7添加拨动开关设置”中的第二段的 “单击显示三角图标......”的前面缺少一段,原书是“Use the drop-down menu to select Toggle Switch”,即“选择下拉菜单中的 Toggle Switch”
2013.3.12
1、书中第394页,上部分代码中的“NSManagedObject *theLine = nil; ”后面缺少一段“NSError *error;”,在后面的代码说明中的第396页的第三段代码解释中有
2013.3.14
1、书中第434页底部倒数第二段第二句,原话“The button no longer gets stuck in a highlighted position after you touch it, which perhaps leads you to tap again, and again, and so on.”,从which开始 , 书中翻译为“否则可能导致不断地重复点击” ,建议翻译为“这也许会导致你重复再点”
2013.3.25
1、书中第478页,中间的用横线隔开的提示,感觉应该翻译如下可能更好:
提示:请注意,在switch语句中,我们在case kImageShape:后面增加了花括号。编译器有个问题,不能在case语句后的第一行申明变量。用花括号的方式告诉编译器避开该问题。当然,我们可以在switch语句之前申明horizontalOffset,但该方法将相关的代码放在了一起。
2013.3.26
1、书中的第484页,代码段
switch (shapeType) {
case kLineShape: { glDisable(GL_TEXTURE_2D);
GLfloat vertices[4];
// Convert coordinates
vertices[0] = firstTouch.x;
vertices[1] = self.frame.size.height - firstTouch.y;
vertices[2] = lastTouch.x;
vertices[3] = self.frame.size.height - lastTouch.y;
glLineWidth(2.0);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawArraysGL_LINES, 0, 2);
break;
}中 glDrawArraysGL_LINES, 0, 2);缺少了“(”符号
2013.3.29
1、书中 第513页 的第四段最后面
在Subclass of控件中输入UIGesture Recognizer,在这里的“UIGesture Recognizer”单词之间应该没有空格,为 “UIGestureRecognizer”
//以下为回溯看书的结果
2013.4.8
1、书中第37页的图3-2下面那段文字:
“你可以不选Create git repository 复选框”,应该为“你可以不选Create local git repository
复选框”
//开始提出
2013.4.11
1、书中第112页的6.3.1小节标题上面那段文字的最后:
“可以看到 View Switcher-Info.plist 文件和 InfoPlist.strings文件 (其中包含本地化的 Info.Plist文件) ”,其中“Info.Plist文件”应该为“Info.plist文件”
2、书中第126页最下面的代码为:
[UIView beginAnimations:@"View Flip" context:NULL];
[UIView setAnimationDuration:1.25];
而本页上面的代码却是:
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.25];
这个原书也有错误,按原书情况来看 ,应该把本页上面代码中的 [UIView beginAnimations:@"View Flip" context:nil]修改为 [UIView beginAnimations:@"View Flip" context:NULL];
3、 书中第139页倒数第二段:
“接下来单击Image组合框并选择dockicon.png图像”,dockicon.png应该为clockicon.png
4、书中第161页第三段的 “文件所有者”建议不翻译,直接写为“File’s Owner’s”
2013.4.12
1、书中第190页,文字第三段
“单击BIDCellsViewController.m,然后......”,应该为“单击BIDViewController.m,然后......”
2、书中第197页,8.4.2节第一段
“文件夹中找到名为Sections的文件,”应该为“文件夹中找到名为sortednames.plist的文件”
3、书中第211页,下部分代码:
从“#pragma mark - ”下面的代码:
“- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section”、
“- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath ”
以及“UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier: sectionsTableIdentifier];”
中都出现了 “aTableView”,而与前面的第199页最下面“#pragma mark -”开始的代码不一致,199页都是“tableView”,前后不一致。发现原版中也有该现象。
2013.4.13
1、书中第214页中最下面的代码为:
[self.keys removeObjectsInArray:sectionsToRemove];
[sectionsToRemove release];
[table reloadData];
而在前面的代码里面没有 [sectionsToRemove release];这行代码 ,前后不一致。根据ios5的ARC原理来看,应该是不需要release的,英文原书中也有这个bug。
2、书中第245页中BIDFirstLevelController.m的代码中
“// Disclosure Button
BIDDisclosureButtonController *BIDDisclosureButtonController =
[[BIDDisclosureButtonController alloc]
initWithStyle:UITableViewStylePlain];
BIDDisclosureButtonController.title = @"Disclosure Buttons";
BIDDisclosureButtonController.rowImage = [UIImage imageNamed:
@"BIDDisclosureButtonControllerIcon.png"];
[array addObject:BIDDisclosureButtonController];”而与第240页的BIDFirstLevelController.m代码 “// Disclosure Button”下面的不一致 ,英文原版中也存在这个问题