【发布时间】:2012-08-06 01:49:01
【问题描述】:
所以我有一个类,此时它只包含一个简单的 NSMutableArray 对象。我正在从视图控制器设置这个对象,但由于某种原因......这愚蠢的东西在我的 ipad 上不起作用。然而,它在模拟器上完美运行。
有没有人遇到过这种情况?
我知道这并不是很多事情,但任何关于在哪里寻找的提示/指针都会有所帮助。不知道在这个上搜索什么。
谢谢
ViewController.h
#import "DBEntries.h"
DBEntries *dbEntries;
ViewController.m:
[database open];
NSMutableArray *arrayAdder = [[NSMutableArray alloc] init];
NSString *filterNameFirst = [NSString stringWithFormat:@"%@", nameFirstTextField.text];
NSString *filterNameLast = [NSString stringWithFormat:@"%@", nameLastTextField.text];
NSString *filterStringFirst = [NSString stringWithFormat:@"%%%@%%", filterNameFirst]; // Works on first name only.
NSString *filterStringLast = [NSString stringWithFormat:@"%%%@%%", filterNameLast]; // Works on last name only.
FMResultSet *results = [database executeQuery:[NSString stringWithFormat:@"SELECT * FROM users WHERE firstname LIKE ? AND lastname LIKE ?", filterStringFirst, filterStringLast]];
while([results next])
{
NSString *firstname = [results stringForColumn:@"firstname"];
NSString *lastname = [results stringForColumn:@"lastname"];
// Add db entries to array in DBEntries.
NSString *objectAdder = [NSString stringWithFormat:@"%@ %@", firstname, lastname];
NSLog(@"objectAdder: %@", objectAdder);
[arrayAdder addObject:objectAdder];
}
[dbEntries setUsersFiltered:arrayAdder];
[arrayAdder release];
[database close];
isUpdatingEntriesForTableView = YES;
[dbTableView reloadData];
NSLog(@"dbEntries.usersFiltered: %@", dbEntries.usersFiltered); // This logs 0 on device, but works on simulator.
class.h:
NSMutableArray *usersFiltered;
@property (strong, nonatomic) NSMutableArray *usersFiltered;
类.m:
@synthesize usersFiltered;
【问题讨论】:
-
请发布一些相关代码,以便我们确定可能出现的问题。
-
正如您自己所说,没有代码和您所看到的错误,这里没有任何人可以帮助您。
-
这个概念就是我所指的......但是好的,我用一些代码更新了主帖。没有错误或任何东西。它只是不更新数组。所以 usersFiltered 数组返回 0。这是一个非常基本的设置,我只是好奇是否有人遇到过类似的情况,类变量不会在设备上设置,但会在模拟器上设置。
-
这只是一个猜测,但请尝试查看保存包含数据的 SQlite 文件的位置。尝试从模拟器中删除该应用程序并重新安装,如果它仍然有效,则不是 SQLite 问题。尝试在你的 iPad 上做同样的事情。同样,截至目前,这是我最好的猜测。您能否在您的核心数据模型上发布更多代码?
-
究竟是什么不起作用?它是否崩溃,数组是否为空?另外,您如何打开数据库。我感觉这和你的问题有很大关系。顺便说一句,您的查询看起来很奇怪,您使用
?作为占位符,但这对stringWithFormat:没有任何影响。如果该查询以您期望的方式在任何地方工作,我会感到惊讶。
标签: objective-c ios nsmutablearray