OC 便利构造器对象

来源:互联网 发布:eve目标证据数据 编辑:程序博客网 时间:2024/04/30 04:12

在学习oc的便利构造器时感到非常的疑惑,网上的资料确实不少,个人理解了一些。记下来

总结一句话,便利构造器就是快捷构造对象,而且不需要手动管理这个对象的内存。

由便利构造器产生的对象不应当使用者销毁,而是由便利构造器本身完成。

下面给出一个例子:


#import <Foundation/Foundation.h>@interface Person :NSObject{    NSString * name;//名字}@property (assign,nonatomic) NSString * name;//声明名字访问属性-(id)initWithName:(NSString *)name;//声明构造函数+(id) personWithName:(NSString *)name; @end//2..m实现文件中@implementation Person@synthesize name;//实现name属性-(id)initWithName:(NSString *)name //实现构造函数{    if(self =[super init])//调用父类super init方法    {        [self setName:newName];//另一种调用方法 self.name:newName;    }    return self;}+(id) personWithName:(NSString *)name{id people = [[Person alloc] init];[people autorelease];//自动释放池中,不需要手动管理return people;}@end //3.主函数中#import <Person.h> int main(int argc, const char * argv[]){    Person * people = [Person personWithName];//构造函数调用    return 0;}


0 0