2016年5月25日
摘要: 上一篇为Object-C Init dealloc方法在一个对象从内存中删除时被调用。通常在这个方法里面释放所有对象里的实例变量 -(void)dealloc { [super dealloc]; [caption release]; [photographer release]; } 在前两行,我 阅读全文
posted @ 2016-05-25 23:32 Near_milk 阅读(272) 评论(0) 推荐(0)
摘要: 上一篇为Object-C类实现 我们可以创建一个init方法用来给我们的实例变量设置初始化值: - (id)init { if(self = [super init]) { [self setCaption:@"Default Caption"]; [self setPhotographer:@"D 阅读全文
posted @ 2016-05-25 23:16 Near_milk 阅读(160) 评论(0) 推荐(0)
摘要: 这篇为Object-C添加方法的后续。 这里我们应该在类的实现(.m)文件中写 #import "Photo.h" @implementation Photo - (NSString *)caption { return caption; } - (NSString *)photographer { 阅读全文
posted @ 2016-05-25 22:57 Near_milk 阅读(203) 评论(0) 推荐(0)
摘要: 给实例变量添加getter方法: #import <Cocoa/Cocoa.h> @interface Photo:NSObject { NSString *caption; NSString *phtographer; } - caption; - photographer; @end 记住,Ob 阅读全文
posted @ 2016-05-25 22:02 Near_milk 阅读(286) 评论(0) 推荐(0)
摘要: 在Object-C中,一个类通常分为两部分,.h头文件和.m实现文件。 类的接口(interface)通常存放在类似ClassName.h的文件中。在这里我们定义实例变量和公用(public)方法。 类的实现存放在ClassName.m文件中,它包含了实际实现代码。而且也可能定义了客户类不能访问的私 阅读全文
posted @ 2016-05-25 15:36 Near_milk 阅读(315) 评论(0) 推荐(0)
摘要: 如果你通过手工alloc的方式分配内存实例化创建一个对象,之后你需要release这个对象,同理你也不能手工释放(release)一个能自动释放(autoreleased)的对象,因为这个样子会使你的程序崩溃。 以下是两个例子: //string1将会自动释放 NSString *string1 = 阅读全文
posted @ 2016-05-25 15:03 Near_milk 阅读(131) 评论(0) 推荐(0)
摘要: 创建对象有两种方法: 1. NSString *str = [NSString string]; 2. NSString *myStr = [[NSString alloc]init]; 第一种创建方式,你是创建了一个(autoreleased)的对象; 第二种创建方式,这是一个嵌套的方法调用,al 阅读全文
posted @ 2016-05-25 14:50 Near_milk 阅读(454) 评论(0) 推荐(0)
摘要: 比如 我在main函数里面是可以通过下面的方式来使用这个类的:(注意,如果在main函数里面使用此类,除了要包含头文件以外,最重要的是记得把main.m改成main.mm,否则会报一些奇怪的错误。所以,任何时候我们使用c++,如果报奇怪的错误,那就要提醒自己是不是把相应的源文件改成.mm后缀了。其它 阅读全文
posted @ 2016-05-25 11:51 Near_milk 阅读(105) 评论(0) 推荐(0)