定义一个学生类,需要有姓名,年龄,考试成绩三个成员属性,创建5个对象,属性可以任意值。(Objective-C)1)    不使用@property,手动编写他们的访问器方法(getter和setter),注意内存管理(手动管理内存)
2)    增加一个便利构造器(快速构造器)
3)    使用NSLog输出学生对象时,输出信息格式为:My Name Is XXX  Age Is XXX Score Is XXX
4)    对5个学生对象按照成绩—》年龄—》姓名优先级排序(成绩相同按照年龄排序,成绩年龄相同按照姓名排序(5个学生的属性值自己随便设定,姓名不考虑中文,按26个大小字母排序))2
定义2个新类,分别命名为Song/Playlist。Song对象包含歌曲的信息,歌名、艺术家、专辑、歌曲长度;Playlist对象表示一个播放列表,包含播放列表名称和一个歌曲的集合,还应该提供添加和删除歌曲的方法。(Objective-C)小弟初学者,这两个题目实在是写不出来了,求大神帮忙,先谢谢了

解决方案 »

  1.   

    完整的代码还是需要自己去写,这里给出提示。
    1. (1)手动创建属性的getter,setter 方法,关键是对于引用类型的内存管理。如:姓名,需要把它定义成NSString 类型
    @property (nonatomic,retain) NSString *name; 
    手动创建的setter方法
    -(void)setName:(NSString *)name {
           [_name release];
           _name = name;
           [_name retain];
    }1. (2)便利构造器,应该考察的是在实例化的对象的同时初始化成员
    -(id)initWithName:(NSString *)name age:(NSInteger)age score:(float)score {
           if (self = [super init]) {
                    self.name = name;
                    self.age = age;
                    self.score = score;
           }
          return self;
    }1. (3)自定义输出对象的信息,你可以重写NSObject的description 
    -(NSString *)description {
          return [NSString stringWithFormat:@"My Name Is %@  Age Is %d Score Is %f",self.name,self.age,self.score ] ;
    }1. (4)考察的是对集合中元素的排序,集合对象NSArray的排序,可以利用NSSortDescriptor 来添加排序设置。2. 这里主要考察的是对可变数组(NSMutableArray)的增,删