Вы используете две разные переменные с именем listOfSites
.Первая - локальная переменная в didFinishLaunchingWithOptions
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//...
NSMutableArray *listOfSites = [[NSMutableArray alloc] init];
//...
}
Вторая - переменная экземпляра класса slSQLite
:
@interface slSQLite : NSObject {
// ...
NSMutableArray *listOfSites; // populated by sqlite
}
Когда вы инициализируете переменную listOfSites
, который находится в didFinishLaunchingWithOptions
, переменная там, которая находится в slSQLite
, остается неизменной и не инициализированной.
Поэтому перед использованием его следует инициализировать массив:
listOfSites = [[NSMutableArray alloc] init];
while([rs next]) {
sArray *sa = [[sArray alloc] init];
sa.sSiteID = [rs stringForColumnIndex:0];
sa.sJobDesc = [rs stringForColumnIndex:1];
sa.sJobDate = [rs stringForColumnIndex:2];
[listOfSites addObject:sa];
}
NSLog(@"The array listOfSites contains %d items, listOfSites.count);
PS.sa
это объект, а не класс.Это экземпляр класса sArray
.