NSObject和NSMutableArray问题(NSObject and NSMutableArray issue)

编程入门 行业动态 更新时间:2024-10-11 05:27:09
NSObject和NSMutableArray问题(NSObject and NSMutableArray issue)

你好,我有这个NS对象:

@interface Checkin : NSObject { NSString *name; NSString *profID; NSString *time; NSString *lon; NSString *lat; NSString *country; NSString *city; NSString *place; NSString *photoURL; NSMutableArray *taggedID; NSMutableArray *taggedName; } @property(nonatomic, retain)NSString *name; @property(nonatomic, retain)NSString *profID; @property(nonatomic, retain)NSString *time; @property(nonatomic, retain)NSString *lon; @property(nonatomic, retain)NSString *lat; @property(nonatomic, retain)NSString *country; @property(nonatomic, retain)NSString *city; @property(nonatomic, retain)NSString *place; @property(nonatomic, retain)NSString *photoURL; @property(nonatomic, retain)NSMutableArray *taggedID; @property(nonatomic, retain)NSMutableArray *taggedName; @end

现在我想创建一个NSMutable Array,并在其中添加几个“Checkins”。

当我这样做时:

Checkin *checkinsA = [[NSObject alloc] init]; NSDictionary *decodedJson = result; NSArray *users = [decodedJson objectForKey:@"data"]; for(NSDictionary *user in users) { NSLog(@"Created item: %@ \n", [user objectForKey:@"created_time"]); checkinsA.time = [NSString stringWithFormat:@"%@",[user objectForKey:@"created_time"]]; NSDictionary *fromData = [user objectForKey:@"from"]; NSLog(@"user id is: %@ \n", [fromData objectForKey:@"id"]); checkinsA.profID = [fromData objectForKey:@"id"]; NSLog(@"user name is: %@\n ", [fromData objectForKey:@"name"]); checkinsA.name =[fromData objectForKey:@"name"]; NSDictionary *placeData = [user objectForKey:@"place"]; NSDictionary *locationData = [placeData objectForKey:@"location"]; NSLog(@"City: %@ \n", [locationData objectForKey:@"city"]); checkinsA.city = [locationData objectForKey:@"city"]; NSLog(@"Country: %@ \n", [locationData objectForKey:@"country"]); checkinsA.country = [locationData objectForKey:@"country"]; NSLog(@"Latitude: %@ \n", [locationData objectForKey:@"latitude"]); checkinsA.lat = [locationData objectForKey:@"latitude"]; NSLog(@"Longitude: %@ \n", [locationData objectForKey:@"longitude"]); checkinsA.lon = [locationData objectForKey:@"longitude"]; NSLog(@"Place name: %@ \n", [placeData objectForKey:@"name"]); checkinsA.place = [placeData objectForKey:@"name"]; NSDictionary *tagData = [user objectForKey:@"tags"]; NSArray *tagDataArray = [tagData objectForKey:@"data"]; for(NSDictionary *tagData2 in tagDataArray){ NSLog(@"tagged user id is: %@ \n", [tagData2 objectForKey:@"id"]); [checkinsA.taggedID addObject:[tagData2 objectForKey:@"id"]]; NSLog(@"tagged user name is: %@\n ", [tagData2 objectForKey:@"name"]); [checkinsA.taggedName addObject:[tagData2 objectForKey:@"name"]]; } [checkinArray addObject:checkinsA]; }

我收到错误:

- [NSObject setTime:]:无法识别的选择器发送到实例checkinsA.time = [NSString stringWithFormat:@“%@”,[user objectForKey:@“created_time”]];

什么是正确的方式来改变checkinsA.time checkins.id等的价值?

Hello I have this NS Object:

@interface Checkin : NSObject { NSString *name; NSString *profID; NSString *time; NSString *lon; NSString *lat; NSString *country; NSString *city; NSString *place; NSString *photoURL; NSMutableArray *taggedID; NSMutableArray *taggedName; } @property(nonatomic, retain)NSString *name; @property(nonatomic, retain)NSString *profID; @property(nonatomic, retain)NSString *time; @property(nonatomic, retain)NSString *lon; @property(nonatomic, retain)NSString *lat; @property(nonatomic, retain)NSString *country; @property(nonatomic, retain)NSString *city; @property(nonatomic, retain)NSString *place; @property(nonatomic, retain)NSString *photoURL; @property(nonatomic, retain)NSMutableArray *taggedID; @property(nonatomic, retain)NSMutableArray *taggedName; @end

Now I want to create an NSMutable Array and add several "Checkins" inside of it.

When I am doing this:

Checkin *checkinsA = [[NSObject alloc] init]; NSDictionary *decodedJson = result; NSArray *users = [decodedJson objectForKey:@"data"]; for(NSDictionary *user in users) { NSLog(@"Created item: %@ \n", [user objectForKey:@"created_time"]); checkinsA.time = [NSString stringWithFormat:@"%@",[user objectForKey:@"created_time"]]; NSDictionary *fromData = [user objectForKey:@"from"]; NSLog(@"user id is: %@ \n", [fromData objectForKey:@"id"]); checkinsA.profID = [fromData objectForKey:@"id"]; NSLog(@"user name is: %@\n ", [fromData objectForKey:@"name"]); checkinsA.name =[fromData objectForKey:@"name"]; NSDictionary *placeData = [user objectForKey:@"place"]; NSDictionary *locationData = [placeData objectForKey:@"location"]; NSLog(@"City: %@ \n", [locationData objectForKey:@"city"]); checkinsA.city = [locationData objectForKey:@"city"]; NSLog(@"Country: %@ \n", [locationData objectForKey:@"country"]); checkinsA.country = [locationData objectForKey:@"country"]; NSLog(@"Latitude: %@ \n", [locationData objectForKey:@"latitude"]); checkinsA.lat = [locationData objectForKey:@"latitude"]; NSLog(@"Longitude: %@ \n", [locationData objectForKey:@"longitude"]); checkinsA.lon = [locationData objectForKey:@"longitude"]; NSLog(@"Place name: %@ \n", [placeData objectForKey:@"name"]); checkinsA.place = [placeData objectForKey:@"name"]; NSDictionary *tagData = [user objectForKey:@"tags"]; NSArray *tagDataArray = [tagData objectForKey:@"data"]; for(NSDictionary *tagData2 in tagDataArray){ NSLog(@"tagged user id is: %@ \n", [tagData2 objectForKey:@"id"]); [checkinsA.taggedID addObject:[tagData2 objectForKey:@"id"]]; NSLog(@"tagged user name is: %@\n ", [tagData2 objectForKey:@"name"]); [checkinsA.taggedName addObject:[tagData2 objectForKey:@"name"]]; } [checkinArray addObject:checkinsA]; }

I am getting error:

-[NSObject setTime:]: unrecognized selector sent to instance for checkinsA.time = [NSString stringWithFormat:@"%@",[user objectForKey:@"created_time"]];

What is the right way to change value of the checkinsA.time checkins.id etc?

最满意答案

你会得到这个错误,因为checkinsA不是一个Checkin对象,它是一个NSObject (因为这就是你所使用的), NSObject没有setTime方法。 试试这个:

Checkin *checkinsA = [[Checkin alloc] init];

You're getting that error because checkinsA isn't a Checkin object, its an NSObject (since that's what you alloced) and NSObject doesn't have a setTime method. Try this instead:

Checkin *checkinsA = [[Checkin alloc] init];

更多推荐

本文发布于:2023-07-29 03:28:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1311981.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:NSObject   NSMutableArray   issue

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!