I'm using FMBD framework for working with sqlite database. Here is my writing to database code:
- (void)insertTweet:(PTKTweet *)tweet {
NSString *text = tweet.text;
NSNumber *id = tweet.id;
NSString *created_at = [tweet.created_at stringValue];
NSString *sqlSL = @"INSERT INTO Tweet VALUES (:id, :text, :created_at)";
NSDictionary *paramethers = @{
@"id" : id,
@"text" : text,
@"created_at" : created_at};
[self.database executeUpdate:sqlSL withParameterDictionary:paramethers];
[self insertUser:tweet.user withTweetPK:tweet.id];
[self insertEntities:tweet.entities withTweetPK:tweet.id];
}
And here is my reading code:
- (NSArray *)allTweets {
NSMutableArray *takenTweets = [NSMutableArray new];
if ([self.database open]) {
FMResultSet *resultSet = [self.database executeQuery:@"SELECT * FROM Tweet"];
while ([resultSet next]) {
PTKTweet *tweet = [PTKTweet new];
tweet.text = [resultSet stringForColumn:@"text"];
tweet.id = [NSNumber numberWithInt:[resultSet intForColumn:@"id"]];
tweet.created_at = [NSDate dateWithString:[resultSet stringForColumn:@"created_at"]];
tweet.user = [self userForTweetWithPK:[tweet.id integerValue]];
tweet.entities = [self entitiesFotTweetWithPK:[tweet.id integerValue]];
[takenTweets addObject:tweet];
}
[self.database close];
[takenTweets sortedArrayUsingComparator:^NSComparisonResult(PTKTweet *obj1, PTKTweet *obj2) {
return [obj1.created_at compare:obj2.created_at];
}];
}
return takenTweets;
}
All is inserting into database perfectly. When you try to count elements it is returning proper count.
But my reading is returning always nil for all rows. For example if I'll print my array with tweets I'll see:
<PTKTweet>
[id]: 0
[created_at]: <nil>
[text]: 602570238148931584
[entities]: <nil>
[twitterAppURL]: <nil>
[webPageURL]: <nil>
[user]: <nil>
</PTKTweet>,
<PTKTweet>
[id]: 0
[created_at]: <nil>
[text]: 602569072396623873
[entities]: <nil>
[twitterAppURL]: <nil>
[webPageURL]: <nil>
[user]: <nil>
</PTKTweet>
But it must look like:
<PTKTweet>
[id]: 602574490791505921
[created_at]: 2015-05-24 20:38:48 +0000
[text]: RT @ADeshchytsia: На президентських виборах в Польщі за дан...
[entities]: <PTKEntities>
[media]: <nil>
[urls]: (
)
[hashtags]: (
)
</PTKEntities>
[twitterAppURL]: twitter://status?id=602574490791505921
[webPageURL]: https://twitter.com/statuses/602574490791505921
[user]: <PTKUser>
[profile_image_url]: http://ift.tt/10pqjUG
[profile_text_color]: UIDeviceRGBColorSpace 0.00784314 0.133333 0.133333 1
[profile_link_color]: UIDeviceRGBColorSpace 0 0 0.133333 1
[created_at]: 2011-01-10 17:14:52 +0000
</PTKUser>
</PTKTweet>
And I don't know what am I doing wrong? Can somebody help me please? Thanks.
Aucun commentaire:
Enregistrer un commentaire