ここに私の設定です。私は呼び出しステートメントのようないくつかの文字列、宣言された頻度、およびamStationInfoと呼ばれるNSMutableArrayを持つradiostationsというオブジェクトを持っています。私のViewControllerで、私はそう...アレイに問題があります
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
を移入SQLiteのデータベースにアクセスしますNSString *cityValue = [(radiostations *)[amStationInfo objectAtIndex:indexPath.row] city];
NSString *formatValue = [(radiostations *)[amStationInfo objectAtIndex:indexPath.row] format];
cityLabel.text = cityValue;
formatLabel.text = formatValue;
最初はいくつかの配列を扱っていましたが、これはうまくいきました。クラスオブジェクトを使って1つの配列しか扱わないように変更しましたが、今は動作しません。私はSQLiteのクエリを知っていると私はそれに何の問題もないので、動作しません。あたかも配列に値が入っていないかのようです。
あなたの名前は混乱しています。 'radioStations'は' RadioStations'、 'amStationClass'は' amStation'でなければなりません(クラスではなく、インスタンスです)、 'amStationInfo'はおそらく' amStationsArray'、 'cityField'は' city'でなければなりません。 'cityName'など...また、ARCを使用していない場合は、2つの文字列も漏れています。 – bbum
チップをありがとう、私は全く新しいです、そして、私はそれを実現しました。私はARCを使用しています。 – StarvingPilot
心配ありません。 Objective-C、iOS、Cocoa、およびその間のすべてのフレームワークは、非常に多くの共通パターンで構築されています。あなたがそれらのパターンを学んでそれに従うなら、それは事をずっと簡単にするでしょう! – bbum