여기 내 설정입니다. 나는 호출 부호 (callign), 선언 된 주파수 및 amStationInfo라는 NSMutableArray와 같은 여러 문자열이있는 radiostations라는 객체를 가지고 있습니다. 내의 ViewController에, 나는 내가 jQuery과배열에 문제가 있습니다.
채울 그래서 같은 배열을 채 웁니다 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);
다음에 액세스
NSString *cityValue = [(radiostations *)[amStationInfo objectAtIndex:indexPath.row] city];
NSString *formatValue = [(radiostations *)[amStationInfo objectAtIndex:indexPath.row] format];
cityLabel.text = cityValue;
formatLabel.text = formatValue;
처음에는 몇 개의 어레이를 다루었지만 제대로 작동했습니다. 클래스 객체를 사용하는 하나의 배열 만 처리하도록 변경했습니다. 이제는 작동하지 않습니다. 나는 SQLite 쿼리를 알고 있으며, 어떤 문제가 없다고 생각한다. 그것은 배열이 채워지지 않는 것처럼 보인다.
귀하의 이름은 엉망입니다; 'radioStations','amStationClass'는'amStation'이어야합니다 (클래스가 아니며 인스턴스입니다),'amStationInfo'는 아마도'amStationsArray'이어야하고,'cityField'는'city'이어야합니다. 'cityName' 등 ... 또한 ARC를 사용하지 않는다면 두 개의 문자열도 누출 될 것입니다. – bbum
팁 주셔서 감사합니다, 나는 아주 새롭고 나는 그것을 깨달았습니다. 나는 ARC를 사용하고있다. – StarvingPilot
걱정할 필요가 없습니다. Objective-C, iOS, Cocoa 및 그 사이의 모든 프레임 워크는 수많은 공통 패턴을 기반으로 구축되었습니다. 그 패턴을 배우고 따라 가면, 훨씬 더 간단해질 것입니다! – bbum