這是我的設置。我有一個叫做radiostations的對象,其中有幾個字符串,如呼號,聲明頻率和名爲amStationInfo的NSMutableArray。在我的ViewController,我訪問的填充像這樣的數組中的SQLite數據庫...與陣列有問題
radiostations.h
@interface radiostations : NSObject {
NSString *format;
NSString *city;
}
@property (nonatomic, retain) NSString *format;
@property (nonatomic, retain) NSString *city;
ViewController.m
radiostations *amStationClass = [[radiostations alloc] init];
NSMutableArray* amStationInfo = [[NSMutableArray alloc] init];
while (sqlite3_step(statement) == SQLITE_ROW)
{
NSString *cityField = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 10)];
NSString *formatField = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 0)];
[amStationInfo addObject:amStationClass];
[amStationClass setCity:cityField];
[amStationClass setFormat:formatField];
}
[tabView reloadData];
sqlite3_finalize(statement);
,然後我填充一個UITableView
NSString *cityValue = [(radiostations *)[amStationInfo objectAtIndex:indexPath.row] city];
NSString *formatValue = [(radiostations *)[amStationInfo objectAtIndex:indexPath.row] format];
cityLabel.text = cityValue;
formatLabel.text = formatValue;
最初我正在處理幾個數組,這工作得很好。然後我改變它,以便我只用一個類對象處理一個數組,現在它不起作用。我知道SQLite查詢,什麼不工作,所以我沒有任何問題。看起來好像該數組沒有被填充。
你的命名是一團糟; 'radiostations'應該是'RadioStations','amStationClass'應該是'amStation'(它不是一個類,它是一個實例),'amStationInfo'應該是'amStationsArray','cityField'應該是'city'或者'cityName'等......另外,如果你不使用ARC,你也會泄漏兩個字符串。 – bbum 2012-04-24 19:29:16
感謝您的提示,我很新,我剛剛意識到這一點。不過,我正在使用ARC。 – StarvingPilot 2012-04-24 19:34:02
無後顧之憂; Objective-C,iOS,Cocoa以及它們之間的所有框架都建立在大量常見模式上。如果你學習這些模式並遵循它們,它會使事情變得簡單得多! – bbum 2012-04-24 19:56:23