苹果在北京时间2010年6月24日凌晨3点多,更新了Xcode的文档RSS,发布了5只新版文档,分别是:
- iOS4的文档,版本号:33.80.0
- Xcode 3.2的文档,版本号:406.2.0
- Mac OS X 10.6 Core文档,版本号:406.1.0
- Mac OS X Java文档,版本号:406.2.0
- Mac OS X Legacy文档,版本号:7.2.0
#!/bin/bash macdocs='/Developer/Documentation/DocSets/' iosdocs='/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/' # Function: Extract Docs From Xar Archives do_extract() { echo In directory: $1 echo Extract xars... for file in `ls -1` do xar -xf $file done echo Delete xars... rm -f *.xar echo Change ownerships... for dir in `ls -1` do chown -R -P _devdocs $dir chmod 775 $dir done } # Delete Old Docs and Copy xar to Mac Doc Dir echo Operation Start. echo echo Deleting Old Mac Docsets... rm -rf ${macdocs}*.docset echo Copying xars to $macdocs cp Mac/*.xar $macdocs # Delete Old Docs and Copy xar to iOS Doc Dir echo Deleting Old iOS Docsets... rm -rf ${iosdocs}*.docset echo Copying xars to $iosdocs... cp iOS/*.xar $iosdocs # Goto Mac Doc Dir and Extract Docs. echo Start to Extract Mac Docs... cd $macdocs do_extract $macdocs # Goto iOS Doc Dir and Extract Docs. echo Start to Extract iOS Docs... cd $iosdocs do_extract $iosdocs echo All Done.你可以把脚本命名为任何名字,比如docsetup.sh,赋予执行权限。升级完毕Xcode之后,进入文档目录,执行:
sudu ./docsetup.sh等待片刻,文档就全部安装好了。
[object method];
[object methodWithInput:input];
output = [object methodWithOutput];
output = [object methodWithInputAndOutput:input];
id myObject = [NSString string];
NSString* myString = [NSString string];
function1 ( function2() );
[NSString stringWithFormat:[prefs format]];
-(BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
BOOL result = [myData writeToFile:@"/tmp/log.txt" atomically:NO];
[photo setCaption:@"Day at the Beach"];
output = [photo caption];
photo.caption = @"Day at the Beach";
output = photo.caption;
NSString* myString = [NSString string];
NSString* myString = [[NSString alloc] init];
NSNumber* value = [[NSNumber alloc] initWithFloat:1.0];
// string1 会自动释放
NSString* string1 = [NSString string];
// 不再使用时需要手工释放
NSString* string2 = [[NSString alloc] init];
[string2 release];
#import <Cocoa/Cocoa.h>
@interface Photo : NSObject {
NSString* caption;
NSString* photographer;
}
@end
#import <Cocoa/Cocoa.h>
@interface Photo : NSObject {
NSString* caption;
NSString* photographer;
}
- caption;
- photographer;
@end
#import <Cocoa/Cocoa.h>
@interface Photo : NSObject {
NSString* caption;
NSString* photographer;
}
- (NSString*) caption;
- (NSString*) photographer;
@end
#import <Cocoa/Cocoa.h>
@interface Photo : NSObject {
NSString* caption;
NSString* photographer;
}
- (NSString*) caption;
- (NSString*) photographer;
- (void) setCaption: (NSString*)input;
- (void) setPhotographer: (NSString*)input;
@end
#import "Photo.h"
@implementation Photo
- (NSString*) caption {
return caption;
}
- (NSString*) photographer {
return photographer;
}
@end
- (void) setCaption: (NSString*)input
{
【caption autorelease】; //用中文标点是为了避免本行无法显示。请将中括号改成英文中括号。
caption = [input retain];
}
- (void) setPhotographer: (NSString*)input
{
[photographer autorelease];
photographer = [input retain];
}
- (void) setCaption: (NSString*)input {
caption = input;
}
- (id) init
{
if ( self = [super init] )
{
[self setCaption:@"Default Caption"];
[self setPhotographer:@"Default Photographer"];
}
return self;
}
- (void) dealloc
{
【caption release】;
[photographer release];
[super dealloc];
}
- (void) setTotalAmount: (NSNumber*)input
{
[totalAmount autorelease];
totalAmount = [input retain];
}
- (void) dealloc
{
[totalAmount release];
[super dealloc];
}
NSNumber* value1 = [[NSNumber alloc] initWithFloat:8.75];
NSNumber* value2 = [NSNumber numberWithFloat:14.78];
// 仅释放 value1, 不需要释放 value2
[value1 release];
NSNumber* value1 = [[NSNumber alloc] initWithFloat:8.75];
[self setTotal:value1];
NSNumber* value2 = [NSNumber numberWithFloat:14.78];
[self setTotal:value2];
[value1 release];
NSLog ( @"The current date and time is: %@", [NSDate date] );
#import <Cocoa/Cocoa.h>
@interface Photo : NSObject {
NSString* caption;
NSString* photographer;
}
- (NSString*) caption;
- (NSString*) photographer;
- (void) setCaption: (NSString*)input;
- (void) setPhotographer: (NSString*)input;
@end
#import <Cocoa/Cocoa.h>
@interface Photo : NSObject {
NSString* caption;
NSString* photographer;
}
@property (retain) NSString* caption;
@property (retain) NSString* photographer;
@end
#import "Photo.h"
@implementation Photo
@synthesize caption;
@synthesize photographer;
- (void) dealloc
{
【caption release】;
[photographer release];
[super dealloc];
}
@end
- (void) dealloc
{
self.caption = nil;
self.photographer = nil;
[super dealloc];
}
// 错误。这将导致内存泄漏。
// 使用self.caption来处理访问器
caption = nil;
#import <Cocoa/Cocoa.h>
@interface NSString (Utilities)
- (BOOL) isURL;
@end
#import "NSString-Utilities.h"
@implementation NSString (Utilities)
- (BOOL) isURL
{
if ( [self hasPrefix:@"http://"] )
return YES;
else
return NO;
}
@end
NSString* string1 = @"http://pixar.com/";
NSString* string2 = @"Pixar";
if ( [string1 isURL] )
NSLog (@"string1 is a URL");
if ( [string2 isURL] )
NSLog (@"string2 is a URL");
学习Objective-C Xcode 3.0 项目文件(56k)