标签:问题解决 rom 成员 name sar nsarray ini select nslog
-(NSArray *)getdataFromDatabase
{
NSString *path = [self getDBPath];
NSLog(@"path ==== %@",path);
NSLog(@"self.getDBPath == %@",[self getDBPath]);
FMDatabase *membersDB = [FMDatabase databaseWithPath:path];
if (![membersDB open]) {
NSLog(@"Failed to open membersDB");
return nil;
[membersDB close];
}
NSMutableArray *array = [NSMutableArray array];
FMResultSet *rs = [membersDB executeQuery:@"SELECT * FROM Member"];//这里数组为空 easy出错
<pre name="code" class="objc"> <span style="color:#FF0000;">
Member *member = [[Member alloc]init];
while ([rs next])
{ member.name = [rs stringForColumn:@"Name"];
member.age = [rs intForColumn:@"Age"];
member.sex = [rs intForColumn:@"Sex"];
member.height = [rs intForColumn:@"Height"]; member.Weight = [rs intForColumn:@"Weight"];
member.icon = [UIImage imageWithData:[rs dataForColumn:@"Photo"]];
NSLog(@"member.name ============= %@",member.name);
[array addObject:member];</span>
}
[membersDB close];<span style="color:#FF0000;">
NSLog(@"array[0] == %@,\narray[1] == %@,\narray[2]==%@",[array[0] name],[array[1] name],[array[2] name]);</span>
return [array copy];
}
</span> 。。!
泪奔啊。。。。
。。这时对类的理解不深刻啊。我在循环外加的 Member *member = [[Member alloc]init];初始化,也就是说再循环中我一直在对同一个对象进行反复操作。
,以至于加入成员的数组都是同一个对象,不同的个数而已。
所以解决的方法应该是在循环中初始化。这样一来,每次循环都是一个新的对象(内存地址),这样一来就正确了。!
!
-(NSArray *)getdataFromDatabase
{
NSString *path = [self getDBPath];
NSLog(@"path ==== %@",path);
NSLog(@"self.getDBPath == %@",[self getDBPath]);
FMDatabase *membersDB = [FMDatabase databaseWithPath:path];
if (![membersDB open]) {
NSLog(@"Failed to open membersDB");
return nil;
[membersDB close];
}
NSMutableArray *array = [NSMutableArray array];
FMResultSet *rs = [membersDB executeQuery:@"SELECT * FROM Member"];//这里数组为空 easy出错
while ([rs next])
{
<pre name="code" class="objc"> <span style="color:#FF0000;">Member *member = [[Member alloc]init];</span> member.name = [rs stringForColumn:@"Name"];
member.age = [rs intForColumn:@"Age"];
member.sex = [rs intForColumn:@"Sex"];
member.height = [rs intForColumn:@"Height"]; member.Weight = [rs intForColumn:@"Weight"];
member.icon = [UIImage imageWithData:[rs dataForColumn:@"Photo"]];
NSLog(@"member.name ============= %@",member.name);
[array addObject:member];</span>
}
[membersDB close];<span style="color:#FF0000;">
NSLog(@"array[0] == %@,\narray[1] == %@,\narray[2]==%@",[array[0] name],[array[1] name],[array[2] name]);</span>
return [array copy];
}
标签:问题解决 rom 成员 name sar nsarray ini select nslog
原文地址:http://www.cnblogs.com/zsychanpin/p/6806668.html