手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:苹果相关

Objective-C入门

Objective-C是一种简单的计算机语言,设计为可以支持真正的面向对象 编程。Objective-C通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的ANSI C语言。类的语法和设计主要是基于Smalltalk,最早的面向对象编程语言之一。

如果你以前使用过其他面向对象编程语言,那么下面的信息可以帮助你学习Objective-C的基本语法。许多传统的面向对象概念,例如封装,继承 以及多态,在Objective-C中都有所体现。这里有一些重要的不同,但是这些不同在这文章会表现出来,而且如果你需要还有更多详细的信息存在。

如果你从来没有使用任何编程语言编过程序,那么你至少需要在开始之前,对相关概念进行一些基础的了解。对象的使用和对象对象架构是iPhone程序 设计的基础,理解他们如何交互对创建你的程序非常重要。想了解面向对象概念的,请参看使用Objective-C进行面向对象编程。此外,参看Cocoa 基础指南可以获得Cocoa中的面向对象设计模式的信息。

想了解更多Objective-C语言和语法的细节介绍,请参看Objective-C 2.0编程语言。

Objective-C: C的超集

Objective-C是ANSI版本C编程语言的超集,支持C的基本语法。在C代码中,你定义头文件和源代码文件,从代码实现细节分离公共声明。Objective-C头文件使用的文件名列在表1中。

表1 Objective-C代码的文件扩展名

扩展名 内容类型
.h 头文件。头文件包含类,类型,函数和常数的声明。
.m 源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。
.mm 源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。


当你需要在源代码中包含头文件的时候,你可以使用标准的#include编译选项,但是Objective-C提供了更好的方 法。#import选项和#include选项完全相同,只是它可以确保相同的文件只会被包含一次。Objective-C的例子和文档都倾向于使 用#import,你的代码也应该是这样的。

字符串

作为C语言的超集,Objective-C支持C语言字符串方面的约定。也就是说,单个字符被单引号包括,字符串被双引号包括。然而,大多数 Objective-C通常不使用C语言风格的字符串。反之,大多数框架把字符串传递给NSString对象。NSString类提供了字符串的类包装, 包含了所有你期望的优点,包括对保存任意长度字符串的内建内存管理机制,支持Unicode,printf风格的格式化工具,等等。因为这种字符串使用的 非常频繁,Objective-C提供了一个助记符可以方便地从常量值创建NSString对象。要使用这个助记符,你需要做的全部事情,是在普通的双引 号字符串前放置一个@符号,如下面的例子所示:

NSString*  myString = @"My String\n"; NSString*  anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];  // 从一个C语言字符串创建Objective-C字符串 NSString*  fromCString = [NSString stringWithCString:"A C string" encoding:NSASCIIStringEncoding];

如同所有其他的面向对象语言,类是Objective-C用来封装数据,以及操作数据的行为的基础结构。对象就是类的运行期间实例,它包含了类声明 的实例变量自己的内存拷贝,以及类成员的指针。Objective-C的类规格说明包含了两个部分:接口和实现。接口部分包含了类声明和实例变量的定义, 以及类相关的方法。实现部分包含了类方法的实际代码。图1展现了声明一个叫做MyClass的类的语法,这个类继承自NSObject基础类。类声明总是 由@interface编译选项开始,由@end编译选项结束。类名之后的(用冒号分隔的)是父类的名字。类的实例(或者成员)变量声明在被大括号包含的 代码块中。实例变量块后面就是类声明的方法的列表。每个实例变量和方法声明都以分号结尾。

大小: 36.01 K
尺寸: 500 x 208
浏览: 1384 次
点击打开新窗口浏览全图

列表1展现了前面例子中MyClass类的实现。类同与类声明,类实现的位置也由两个编译选项确定,@implementation和@end。这 些选项给编译器提供了要将方法和对应类联系起来,所需的范围信息。因此方法的定义和接口中对应的声明是匹配的,只是多了个代码块而已。

列表1 类实现

@implementation MyClass      - (id)initWithString:(NSString *) aName {     if (self = [super init]) {         count count = 0;         data = nil;         name = [aName copy];         return self;     } }    + (MyClass *)createMyClassWithString: (NSString *) aName {     return [[[self alloc] initWithString:aName] autorelease]; } @end

注意: 虽然前面的类只声明了方法,但是类可以声明属性。想了解更多关于属性的信息,参看“属性”。

 

当用变量保存对象的时候,始终应该使用指针类型。Objective-C对变量包含的对象支持强弱两种类型。强类型指针的变量类型声明包含了类名。 弱类型指针使用id作为对象的类型。弱类型指针常用于类的集合,在集合中对象精确的类型可以是未知的。如果你用过强类型语言,你也许觉得使用弱类型变量可 能会带来问题,但是他们实际上给了Objective-C程序巨大的灵活性,而且使它更强大。

下面的例子里,展示了MyClass类的强类型和弱类型声明变量:

MyClass*  myObject1;    // Strong typing id        myObject2;    // Weak typing

 

方法

Objective-C中的类可以声明两种类型的方法:实例方法和类方法。实例方法就是一个方法,它在类的一个具体实例的范围内执行。也就是说,在你调用一个实例方法前,你必须首先创建类的一个实例。而类方法,比较起来,也就是说,不需要你创建一个实例。

方法声明包括方法类型标识符,返回值类型,一个或多个方法标识关键字,参数类型和名信息。图2展示insertObject:atIndex:实例 方法的声明。声明由一个减号(-)开始,这表明这是一个实例方法。方法实际的名字(insertObject:atIndex:)是所有方法标识关键的级 联,包含了冒号。冒号表明了参数的出现。如果方法没有参数,你可以省略第一个(也是唯一的)方法标识关键字后面的冒号。本例中,这个方法有两个参数。

大小: 25.51 K
尺寸: 500 x 227
浏览: 1425 次
点击打开新窗口浏览全图

当你想调用一个方法,你传递消息到对应的对象。这里消息就是方法标识符,以及传递给方法的参数信息。发送给对象的所有消息都会动态分发,这样有利于 实现Objective-C类的多态行为。也就是说,如果子类定义了跟父类的具有相同标识符的方法,那么子类首先收到消息,然后可以有选择的把消息转发 (也可以不转发)给他的父类。

消息被中括号( [ 和 ] )包括。中括号中间,接收消息的对象在左边,消息(包括消息需要的任何参数)在右边。例如,给myArray变量传递消息insertObject:atIndex:消息,你需要使用如下的语法:

[myArray insertObject:anObj atIndex:0];

为了避免声明过多的本地变量保存临时结果,Objective-C允许你使用嵌套消息。每个嵌套消息的返回值可以作为其他消息的参数或者目标。例 如,你可以用任何获取这种值的消息来代替前面例子里面的任何变量。所以,如果你有另外一个对象叫做myAppObject拥有方法,可以访问数组对象,以 及插入对象到一个数组,你可以把前面的例子写成如下的样子:

[[myAppObject getArray] insertObject:[myAppObject getObjectToInsert] atIndex:0];

虽然前面的例子都是传递消息给某个类的实例,但是你也可以传递消息给类本身。当给类发消息,你指定的方法必须被定义为类方法,而不是实例方法。你可以认为类方法跟C++类里面的静态成员有点像(但是不是完全相同的)。

 

类方法的典型用途是用做创建新的类实例的工厂方法,或者是访问类相关的共享信息的途径。类方法声明的语法跟实例方法的几乎完全一样,只有一点小差别。与实例方法使用减号作为方法类型标识符不同,类方法使用加号( + )。

下面的例子演示了一个类方法如何作为类的工厂方法。在这里,arrayWithCapacity是NSMutableArray类的类方法,为类的新实例分配内容并初始化,然后返回给你。

NSMutableArray*   myArray = nil;    // nil is essentially the same as NULL  // Create a new array and assign it to the myArray variable. myArray = [NSMutableArray arrayWithCapacity:0];

属性

属性是用来代替声明存取方法的便捷方式。属性不会在你的类声明中创建一个新的实例变量。他们仅仅是定义方法访问已有的实例变量的速记方式而已。暴露 实例变量的类,可以使用属性记号代替getter和setter语法。类还可以使用属性暴露一些“虚拟”的实例变量,他们是部分数据动态计算的结果,而不 是确实保存在实例变量内的。

实际上可以说,属性节约了你必须要些的大量多余的代码。因为大多数存取方法都是用类似的方式实现的,属性避免了为类暴露的每个实例变量提供不同的 getter和setter的需求。取而代之的是,你用属性声明指定你希望的行为,然后在编译期间合成基于声明的实际的getter和setter方法。

属性声明应该放在类接口的方法声明那里。基本的定义使用@property编译选项,紧跟着类型信息和属性的名字。你还可以用定制选项对属性进行配置,这决定了存取方法的行为。下面的例子展示了一些简单的属性声明:

@property BOOL flag; @property (copy) NSString* nameObject;  // Copy the object during assignment. @property (readonly) UIView* rootView;  // Create only a getter method.

使用属性另外的好处就是你可以在代码中访问他们的时候,使用点语法,如下面的例子所示:

myObject.flag = YES; CGRect   viewFrame = myObject.rootView.frame;

虽然前面例子里面的对象和属性名是故意这么取的,他们还是展现了属性的灵活性。点语法实际上隐藏了对应的方法调用。每个可读的属性由一个与属性同名 的方法支持。每个可写属性由一个叫做“set属性名”的额外方法来支持,属性名的第一个字母要大写。(这些方法是属性的实际实现方式,也是你可以声明一个 没有任何实例变量支持的属性声明的原因。)如果用方法来代替前面代码中的属性,你就要下下面的代码:

[myObject setFlag:YES]; CGRect   viewFrame = [[myObject rootView] frame];

要了解更多关于如何声明属性的信息,参看Objective-C 2.0编程语言的属性一章。

 

协议和代理

协议声明了可以被任何类实现的方法。协议不是那些类本身。他们仅是定义一个接口,其他的对象去负责实现。你实现了协议里面的方法,就叫做符合协议。

在iPhone OS中协议常用来实现委托对象。委托对象就是一个对象以其他的对象的模式行事。了解协议,委托和对象最好的办法就是看一个例子。

UIApplication类实现了一个程序需要的行为。如果想接收程序当前状态的简单消息,并不需要强制你创建UIApplication的一个 子类,反之UIApplication类通过调用委托对象的指定方法来分发这些通知消息。实现UIApplicationDelegate方法的对象都可 以接受这样的通知,并进行响应的反应。

协议的声明跟类接口的声明很像,只是协议没有父类,而且他们不会定义任何实例变量。下面的例子展示了一个有一个方法的协议声明:

@protocol MyProtocol 		- (void)myProtocolMethod; @end

在大多数委托协议情况下,使用某种协议仅仅是简单的实现协议定义的方法而已。 有些协议要求你明确的表明你支持这种协议,协议可以指定必须或者可选的方法。在你深入开发的过程中,你应该花点时间学习协议以及他们的用途,请阅读 Objective-C 2.0编程语言的协议章节。

更多的信息

前面的信息是为了让你对Objective-C语言的基础所有了解。本文提到的语言特性,你可以在阅读完整文档的时候找到。但是这个语言不仅仅有这些特性,所以最好请仔细阅读文档Objective-C 2.0编程语言。

参考:http://tiny4cocoa.com/doc/xcode-doc/learn-objective-c

Tags: object-c

Sublime Text 2 简介

之前在vrphperz群里咨询苹果下哪个编辑器稍微好一点。一群装B犯说textmate之类的,还有人说VIM,这些都直接无了。后来有人说了sublimetext2,于是下载了看看。发现是要钱的,但不是付钱也可以使用。于是心安理得的先用了起来。实在是买不起,好贵,比PD都贵上两三倍。。。(过两天介绍一下我用的parallels desktop)
使用sublimetext2的过程中,发现他的响应速度也很快,右边也有一种类似于整页编码缩略图的概念,配色也相对比较容易适应,于是就开始使用了。
经验不足,纯粹是当成editplus之类的工具在用的。于是看到这篇文章的时候,复制了一下(其实我对zencoding不太感兴趣,虽然好象现在很多编辑器都内置 了,比如我用的phpstorm也内置了支持。。。)我对文章最后的三个链接比较感兴趣
原文来自:http://shawphy.com/2011/09/sublime-text-2.html
最近试用了一款新的编辑器 Sublime Text 2,跨平台,据说他是仿TextMate的,没用过TextMate,不知道后者有多厉害。然而 Sublime Text 2 我一用就爱上他了。
大小: 147.04 K
尺寸: 483 x 376
浏览: 1516 次
点击打开新窗口浏览全图
一开始是由于他的迷你地图模式而吸引我的注意力的,这个迷你地图可以概览整个文件。实现快速跳转。这个是个亮点,在其他编辑器中都没有见过此类功能。然而 试用了之后我很快发现,迷你地图功能可能未必好用,但真正让我觉得舒服的是,他的zencoding支持的非常完美,直接有实时预览功能。

此外他的窗口分组、项目管理、扩展工具、代码折叠方面都非常不错。他还直接支持vim模式呢!
我之前在微博上推荐 Sublime Text 2 后,引来好多vimer的鄙视。说比vim差多了。我也无意参与这类争论。一个是现代兵器,一个是上古神器。自己用的爽就行了,何必与人争呢。

总之这个编辑器非常适合我这样喜欢vim的快捷键,又不喜欢vim复杂的配置的人。轻松上手功能强大。

如果你也心动了,可以点下面的地址来下载最新的开发版。Sublime Text 2是收费软件,但目前可以无限期试用。

http://www.sublimetext.com/dev

另外建议依次拜读 Lucifr 的三篇博客
Sublime Text 2 入门及技巧
ZenCoding in Sublime Text 2
Sublime Text 2 实用快捷键[Mac OS X]

--------------
如果你仅仅当成editplus之类的小工具用,那就无所谓了。如果你想当成一些高级编辑器,那就好好学习吧

Tags: sublimetext, zencoding, phpstorm

免费而又强大的文件比较工具:DiffMerge

在windows下面有N多文件比较工具,很多时间我们都用了beyondcompare,在linux下面也有很多命令行的工具,苹果下面用什么呢?
我问了一下google,果然他就给了我答案:diffmerge
嗯。因为他是免费的。。。
官网地址:http://www.sourcegear.com/diffmerge/index.html
大小: 125.93 K
尺寸: 419 x 376
浏览: 1264 次
点击打开新窗口浏览全图
既支持文件、目录比较。也支持合并。其实不要太复杂,就足够了。
用下来好象对UTF-8的支持一般般。。但代码主体不是UTF-8的。已经很满足了

Tags: diffmerge, beyondcompare

MAC的快捷键

尝试用mac的时候,有些都不太习惯。比如切换输入法,是command+space,而在windows下,是ctrl+space。
比如关闭窗口,是ctrl+w,而mac是command+w,退出程序还好。几乎都是command+q。这个倒习惯了

最大的不习惯是在写代码的时候,突然发现。。。没有home键和end键了。以前靠这个来快速定位到首部和尾部的。。。一下子纠结了。找了点资料才发现,原来是fn+left和fn+right可以当成home和end用。所以。。。猜测了一下delete的功能是通过fn+delete实现,结果,果然如此。。。默认的delete其实就是win键盘上的Backspace。。。慢慢慢慢就习惯了很多

找到一篇文章介绍快捷键的,备份一下:http://www.diybl.com/course/6_system/apple/200861/119083.html
在以下的列表中,「opt」为键盘上「Option键」的简称、「cmd」是「Command键」、 「ctrl」则是「Control键」的简称。作者表示所有按键都经过实验,但译者并没有亲自使用过所有的按键组合,所以本文内容仅供参考;如果您要尝试 没有使用过的按键组合,请自己小心。

一、开机时按下……

滑鼠按键 弹出抽取式媒介(2.4f1版以前的Boot ROM可能不包括退出CD片)
opt键 在配备「New World」韧体系统的机种上叫出「Open Firmware」开机系统选择功能。
cmd-opt键 按住这两个键,直到电脑发出二次声响,就会改以Mac OS 9开机。
cmd-x(有时只按住x键) 如果Mac OS 9和Mac OS X在同一个开机用的硬碟区段(partition)上,按这个键会强迫以OS X开机。
cmd-opt-shift-delete 跳过原定的启动磁碟,改以外接磁碟(或光碟机)开机。这个按键的主要作用,其实是强迫电脑不要从预设的启动磁碟读入系统档案,所以会产生从其他磁碟开机的 「副作用」。如果您的Mac是配备SCSI介面的机种,它会从编号(ID)最高的磁碟机往下搜寻,直到找出可以开机的磁碟区段为止。至於在配备IDE介面 的机种上则不确定它的搜寻顺序。
cmd-opt-shift-delete-# 从指定ID的SCSI磁碟开?#代表SCSI编号)。
cmd-opt-p-r 清除系统参数记忆体(PRAM),必须按住不放,等发出两次响声之后再放开。
cmd-opt-n-v 清除NV RAM,类似在Open Firmware中做「重置全部」(reset-all)的动作。
cmd-opt-o-f 开机时进入open firmware。
cmd-opt-t-v 强制Quadra AV机种使用外接电视机当作显示器。
cmd-opt-x-o 以唯读记忆体中所烧录的系统软体开机(仅适用於Mac Classic机种)。
cmd-opt-a-v 强制电脑辨识苹果AV显示器。
c 使用光碟开机。如果原先设定由OS X开机,但光碟机里没有放置开机光碟,则可能会改由OS 9开机。
d 强制以内建磁碟机开机。
n 按住n键直到萤幕上出现Mac标志,电脑会尝试透过BOOTP或TFTP以网路伺服器开机。
r 强制PowerBook重置萤幕设定。
t 强制配备FireWire介面的机种进入外接磁碟模式(FireWire Target Disk mode)。
shift 关闭所有延伸功能(OS 9或OS X之下的Classic环境)。
shift 关闭登入项目,同时也会关闭所有不必要的程式核心(kernel)延伸功能(也就是所谓安全开机模式,仅适用OS X 10.1.3或更新的系统版本)。
cmd 开机时关闭虚拟记忆体(Virtual Memory,仅适用OS 9或OS X之下的Classic环境)。
空白键 开机时启动延伸功能管理程式(OS 9或OS X之下的Classic环境)。
cmd-v 开机过程中显示控制台讯息(仅适用OS X)。
cmd-s 开机后进入单一使用者模式(仅适用OS X)。
cmd-opt-c-i 先将系统时钟设定为日期1989年9月20日,然后以这个按键组合开机,就可以看到萤幕上显示特殊的系统小秘密(仅适用於Mac IIci机种)。
cmd-opt-f-x 先将系统时钟设定为日期1990年3月19日,然后以这个按键组合开机,就可以看到萤幕上显示特殊的系统小秘密(仅适用於Mac IIfx机种)。

二、萤幕上出现小Mac笑脸时按下……

空白键 开机时启动延伸功能管理程式(OS 9或OS X之下的Classic环境)。
shift 关闭包括MacsBug(一种程式设计师工具程式)在内的所有延伸功能(OS 9或OS X之下的Classic环境)。
shift-opt 关闭除了MacsBug之外的所有延伸功能(OS 9或OS X之下的Classic环境)。
ctrl 中断开机过程,进入MacsBug除错模式。

三、系统画面出现后按下……

cmd-opt 当OS 9或OS X中的Classic环境连接磁碟机时,可以重建磁碟机的桌面档案。
opt 不要开启任何系统视窗(Mac OS 9)。
shift 在系统档案(Finder)启动时暂时不要开启系统视窗。这些视窗并没有被真的关闭,只要您重新开机,这些视窗都就会照常出现(Mac OS X)。
shift 不要执行任何「启动项目」软体(Mac OS 9)。

四、在系统画面中按下……

按住opt键,再以滑鼠游标
按视窗上的关闭方块 关闭所有的系统视窗(除了弹出式视窗之外);按cmd-opt-w键也可以获得一样的效果。
cmd-shift-opt-w 关闭所有的系统视窗(包括弹出式视窗)。
cmd-右箭头键 在档案视窗以列表模式显示时,开启一个档案夹。
cmd-opt-右箭头键 在档案视窗以列表模式显示时,重复开启档案夹、以及其下所包含的多层档案夹。
cmd-左箭头键 在档案视窗以列表模式显示时,关闭一个档案夹。
cmd-opt-左箭头键 在档案视窗以列表模式显示时,重复关闭档案夹、以及其下所包含的多层档案夹。
cmd-上箭头键 开启上一层档案夹。在Mac OS X中,如果事先并未选定档案夹、而且没有开启任何视窗,这个按键会开启现在使用者的专属目录。
cmd-opt-上箭头键 开启上一层档案夹,并关闭现用档案夹。
cmd-opt-shift-上箭头键 将桌面变成现用视窗,并且选择最上层磁碟机。
cmd-下箭头键 开启选取的项目。在Mac OS X中,如果事先并未选定档案夹、而且没有开启任何视窗,这个按键会开启桌面档案夹。
cmd-opt-下箭头键 开启选取的项目,并关闭现用的档案夹。
opt-滑鼠按键 按条列档案视窗中的小三角形图像时,可以显示或隐藏下层档案夹中的内容。
tab键 选择名称以下一个英文字母开头的档案夹。
shift-tab键 选择名称以上一个英文字母开头的档案夹。
cmd-delete 把选取的项目搬进垃圾桶

五、在系统画面中的「视窗」选单中……

cmd-选取项目 关闭视窗。
cmd-shift-选取项目 将弹出式视窗归位。
cmd-opt-选取项目 展开选取的视窗,并关闭其他所有视窗。
ctrl-选取项目 展开选取的视窗,并隐藏其他视窗的内容。
·ctrl-opt-选取项目 启动选取视窗,并展开所有的其他视窗。

六、系统启动完毕之后……

在有电源按钮的机种上
电源按钮 在萤幕上显示包括「关机」、「睡眠」、以及「重新开机」按钮的对话框(请参阅下一节)。
cmd-ctrl-电源按钮 强制重新开机。这种方式非必要不建议使用,因为有可能损坏磁碟上的资料内容。
ctrl-cmd-opt-电源按钮 快速关机。
cmd- 电源按钮 启动程式除错软体(如果已事先安装的话)。较早期的Mac(例如Mac II时代的机器)需要先安装由Paul Mercer所写的除错延伸功能(debugger init)来使用这个功能;不过这个功能在配备68040处理器的Mac机种上,已经成为系统韧体内容的一部份。
cmd-opt-电源按钮 让后期型式的PowerBook和桌上型Mac进入睡眠状态。
cmd-opt-ctrl-电源按钮 重新设定电源管理程式(Power Manager;仅适用PowerBook 500系列)。
shift-fn-ctrl-电源按钮 重新设定电源管理程式(Power Manager;仅适用PowerBook G3与G4系列)。

-------------

以上内容不可全信,因为到lion的时候,很多快捷键都换掉了。一些界面、常见操作都和雪豹不太一样了啦

最后再附上一年所谓的隐藏快捷键:http://jaylan.anyday.com.tw/?p=212

以下是For Mac OSX用的快速鍵
1. Apple Logo 
快速鍵 : Option-Shift-K

2. Zero Brightness~馬上把螢幕亮度切至無亮度
快速鍵 : Control-Shift-Eject
Note. Instantly turn your display off without logging out from the system.

3. Adjust Volume Bar~微調音量,可將原本一格的音量調整再細分為四等份,作四分之一的微調
快速鍵 : Option-Shift-F4 / Option-Shift-F5
Note. Increase/decrease your volume bar by a quarter each time it’s invoked. This is particularly useful for fine tuning Mac with bombastic sound system.

4. Double Buffer~Control-K可剪下游標後方的整段文字(不需反白),Control-Y可將用Control-K剪下的文字貼上,類似Copy & Paste的功能
快速鍵 : Control-K (Kill) and Control-Y (Yank)
Note. Like, Cut and Paste, combination of Kill and Yank can help you organize your text easily. Cut followed by Kill grants you double text buffer.

5. Home and End~將游標移至文章的首字及尾字
快速鍵 : Control-A (Home) and Control-E (End)

Note. This is pretty much the substitution for Windows button HOME and END. Pressing Command-← or Command-→ performs the same action.

6. Delete and Backspace~就是Delete 跟 Backspace的快速鍵,這個Delete(Control-D)的快速鍵筆使用筆電時可按的fn+delete好按得多
快速鍵 : Control-D (Delete) and Control-H (Backspace)
Note. In Windows, we’ve got two buttons for this : DEL and BACKSPACE. You can use Fn-Delete to perform forward deletion while the button Delete acts as Backspace.

7. Related Messages~在Mail裡使用的快速鍵~方便回信時用
快速鍵 : Command-Shift-K
Note. Selects all related messages in the same mailbox.

8. Open Address in New Tab~在新分頁中開啟網址
快速鍵 : Command-Enter
Note. While highlighting address bar, pressing this shortcut will bring up new tab of that selected address.

9. Google Search Box~在Safari與Firefox瀏覽器中可將游標快速移至搜尋bar中(按Command-L是前往網址列)
快速鍵 : Command-Option-F
Note. Quickly jumps your cursor to Google Search Box. Saving your mouse click as well as your precious ticks of seconds.

10. Zoom~放大或縮小螢幕的功能(也可利用Control+滑鼠滾輪,但需要在偏好設定中開啟此功能)
快速鍵 : Command-Option-[+] (Zoom In) or Command-Option-[-] (Zoom Out)
Note. Zoom in/out your display; making tiny objects looks huge.

轉載原文於此:Unveiling 10 Hidden OS X Shortcuts
-----EOF-----
其实第一个输入苹果的快捷键真的挺好玩。。。

Tags: mac, 快捷键

苹果电脑MAC OS X安装和删除程序的方法

刚开始用mac,对于添加删除程序还是不太习惯。毕竟那种windows下的注册表之类的概念已经不在了。
不过,装软件还是很方便啦。
如果是dmg的软件,直接双击就OK了。如果不是,是其他的,一般来说,解压缩后,COPY到Application目录下也就OK了。
删除程序的话,就有点纠结了。
Mac OS X下的程序,通常不像Windows电脑下的那么复杂,什么注册表,DLL什么的,完全不用考虑。

  要删除一个电脑程序之前,我先说一下安装一个程序后,通常生成了什么文件。
首先,正常情况下,是在“应用程序”(Applications)文件夹中,这是程序的主文件。当然,也可能放在其他地方,但是默认都是放在这里面的。
其次,就是程序的配置文件了,一般是”.plist”为扩展名的文件,都是放在”~/Library/Preferences/”中。
再次,就是程序的数据文件了,和图像有关的,可能放在”图片”(~/Pictures)中,其他的可能会在”文稿”(~/Documents)中。
这里不排除一些比较特殊的情况,具体问题具体分析了。
现在说说苹果电脑MACOSX下怎么删除软件。

  先用菜单右上角的spotlight来搜索。比如我装的vmware fusion,我想要删除,我就直接去Application目录下把vmware fusion拖到废纸瘘里。但为了以防万一,我还是用spotlight搜索一下vmware,除了找到一些vmdk的文件,其他就找不到了。所以我就认为它已经从系统里消失了。
      当然,还是会有一些专业的软件的,毕竟有的程序自带解载程序,运行就可以了,再有,就是给大家推荐个解载用的程序,AppZapper用这个程序可以很干净,很方便的清除要删除的程序,只要把程序文件托拽到它的图标上,再点清除就可以了。

Tags: mac, spotlight, applications, vmware