Open dabing1022 opened 9 years ago
#import <Foundation/Foundation.h>
@class Course;
@interface Student : NSObject
{
NSString *name;
Course *course;
NSInteger point;
NSArray *otherStudent;
}
@end
#import "Student.h"
#import "Course.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
Student *student = [[[Student alloc]init ]autorelease];
[student setValue:@"张三" forKey:@"name"];
NSString *name = [student valueForKey:@"name"];
NSLog(@"学生姓名:%@",name);
[student setValue:@"88" forKey:@"point"];
NSString *point = [student valueForKey:@"point"];
NSLog(@"分数:%@", point);
Student *student1 = [[[Student alloc]init]autorelease];
Student *student2 = [[[Student alloc]init]autorelease];
Student *student3 = [[[Student alloc]init]autorelease];
[student1 setValue:@"65" forKey:@"point"];
[student2 setValue:@"77" forKey:@"point"];
[student3 setValue:@"99" forKey:@"point"];
NSArray *array = [NSArray arrayWithObjects:student1,student2,student3,nil];
[student setValue:array forKey:@"otherStudent"];
NSLog(@"其他学生的成绩%@", [student valueForKeyPath:@"otherStudent.point"]);
NSLog(@"共%@个学生", [student valueForKeyPath:@"otherStudent.@count"]);
NSLog(@"最高成绩:%@", [student valueForKeyPath:@"otherStudent.@max.point"]);
NSLog(@"最低成绩:%@", [student valueForKeyPath:@"otherStudent.@min.point"]);
NSLog(@"平均成绩:%@", [student valueForKeyPath:@"otherStudent.@avg.point"]);
}
return 0;
}
运行打印结果
2012-07-20 16:09:17.101 objectiveC[2857:403] 学生姓名 : 张三
2012-07-20 16:09:17.104 objectiveC[2857:403] 分数 :88
2012-07-20 16:09:17.105 objectiveC[2857:403] 其他学生的成绩 (
65,
77,
99
)
2012-07-20 16:09:17.106 objectiveC[2857:403] 共 3 个学生
2012-07-20 16:09:17.106 objectiveC[2857:403] 最高成绩 :99
2012-07-20 16:09:17.107 objectiveC[2857:403] 最低成绩 :65
2012-07-20 16:09:17.108 objectiveC[2857:403] 平均成绩 :80.333333333333333333333333333333333333
@interface User : NSObject<NSMutableCopying,NSCopying>
@property (nonatomic,copy) NSString *userId;
@property (nonatomic,copy) NSString *name;
@property (nonatomic,assign) NSInteger age;
@property (nonatomic,copy) NSString *sex;
- (id)initWithDictionary:(NSDictionary *)jsonDictionary;
@end
@implementation User
- (id)initWithDictionary:(NSDictionary *)jsonDictionary
{
self = [super init];
if(self){
[self setValuesForKeysWithDictionary:jsonDictionary];
}
return self;
}
- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
if([key isEqualToString:@"id"])
self.userId = value;
else
[super setValue:value forKey:key];
}
"id" : "0",
"name" : "jack",
"age" : 15,
"sex" : "male"