Posts tagged ‘Xcode’

从0开始Core Data(1)

大家都有Snow Leopard和XCode 3.2了吧?会发现XCode变了不少,帅拉!

屏幕快照 2009-09-01 上午11.58.22

那我们点击“Create a new Xcode project”来开始我们的Core Data程序工程吧!

屏幕快照 2009-09-01 下午12.06.52

在这里,XCode已经给我们准备好了一个几乎可以直接去用的程序模板,直接选择“基于导航的应用程序”,然后记得点选“Use Core Data for storage”

屏幕快照 2009-09-01 下午12.14.03

建立好的程序名为XCDtest01,我们尝试编译运行,看看得到的程序是什么样的:

屏幕快照 2009-09-01 下午12.16.47

基本上来说,这个程序把什么都给我们弄好了,一个程序,在点击添加按钮之后添加现在的时间标签,如果点击“Edit”编辑按钮,就进入编辑模式,可以删除任意条信息。

如果点开xcdatamodel文件,我们可以看到,其中的实体为Event,有一个参数,名为“时间标签”。也就是说,如果我们想对这个列表视图中的数据作更改,只需要适当更改这个实体的参数,并配置- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 代理条目就可以显示适当的内容了。

屏幕快照 2009-09-01 下午12.20.19

这个预置程序与我们之前讨论的程序不同的,在于这个程序中并没有配置一个可变数组(NSMutableArray)来作数据副本,以达到高速存储的目的。因为Core Data在向磁盘和内存操作,NSMutableArray是内存操作,速度上比较有优势。但是我们有的这个小程序太小了,再者苹果有可能认为那种方法是非标准的。所以在这里才没有那么作

NSManagedObject *managedObject = [fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = [[managedObject valueForKey:@"timeStamp"] description];

在这个程序的cell配置代理里面,仅仅是从“获取操作控制器”中得到了“被管理对象”,然后再读取其中的内容到cell的text中。

希望大家也使用这个模板,自己创建一个Core Data程序,然后简单的理解一下代码。下次我们聊只使用基于Window的程序模板+Core Data来创建程序

XCode基础快捷键

S

Esc: 自动完成(显示可能的自动完成列表)

Command-Enter: 编译运行

Command-B : 编译

Command-/ : 注释

Command-} : 向右缩进

Command-{ : 向左缩进

Option-Command-Shift : 头文件和m文件间切换

常用编程快捷键(Xcode/Emacs)

S

control-F: 向右一个字符(forward)

control-B: 向左一个字符(backward)

control-P: 前一行(previous)

control-N: 后一行(next)

control-A: 去行首

control-E: 到行尾(end)

control-T: 调换光标两边的字符(transpose)

control-D: 删除光标右侧字符(delete)

control-K: 删除本行剩余的字符(kill)

control-L: 居中插入点到屏幕中央(lock)

更改Xcode的缺省公司名

X Xcode

//
//  TestViewController.m
//  MultiThread
//
//  Created by Zhengliang Guo on 09-6-7.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//

版权保护到“MyCompanyName”… 那是保护谁阿?对于我来说,就应该改成 guozhengliang.com一类的吧,我也没有公司 — 也不至于改成 CalState San Marcos,我只是个学生职员。(不说废话了)

解决方案:

在终端中运行一下命令:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "你的公司名";}'

简单吧,如果不好使记得在前面加sudo

听说如果苹果发现你的Xcode里面是缺省的___MyCompanyName___, 他们就不会雇佣你 (基础知识很重要嘛,玩笑拉~)