I don't understand why this NSInteger counter increments to exactly 4 times the true value of database rows. Maybe this is stupid but I really just don't get it...
Thanks so far :)
NSInteger *i;
i = 0;
for ( NSDictionary *teil in gText ) {
//NSLog(@"%@", [teil valueForKey:@"Inhalt"]);
[databaseWrapper addEntry:[teil valueForKey:@"Inhalt"] withTyp:[teil valueForKey:@"Typ"] withParagraph:[teil valueForKey:@"Paragraph"]];
i+=1;
}
NSLog(@"Number of rows created: %d", i);
Because i is a pointer and you are incrementing the pointer value which will most likely be in steps of 4 (size of NSInteger pointer). Just remove the pointer * reference and you should be good.
NSInteger i = 0;
for ( NSDictionary *teil in gText ) {
In theory you COULD do this the hard way.
NSInteger *i;
*i = 0;
for ( NSDictionary *teil in gText ) {
...
*i = *i + 1;
...
From: Foundation Data Types Reference
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
#else
typedef int NSInteger;
#endif