NSArray を使用してデータを保存しようとしていますが、ログに記録すると (エラーが発生していたため) が返されます__NSDictionaryM
。情報を追加するのは、これを行うときだけです
NSArray *a = [[NSArray alloc]initWithObjects:aa, nil];
オブジェクトaa
は文字列です。配列を辞書に変えるにはどうすればよいでしょうか?
わかりました、デリゲートを使用してこの配列を別のクラスに渡します。
for (CXMLElement *resultElement in [[p objectAtIndex:0] elementsForName:@"TrackDetail"]) {
NSString *aa = resultElement.stringValue;
NSArray *a = [[NSArray alloc]initWithObjects:aa, nil];
dispatch_async(dispatch_get_main_queue(), ^(void) {
[self.delegate XMLAvailable:a done:(a.count > 0)];
});
次に、他のクラスでこれを行います
- (void)XMLAvailable:(NSArray *)array done:(BOOL)done{
NSMutableArray *indexPaths = [NSMutableArray arrayWithCapacity:[array count]];
for(int i = [self.imageInfos count]; i < [self.imageInfos count] + [array count]; ++i) {
NSIndexPath * indexPath = [NSIndexPath indexPathForRow:i inSection:0];
[indexPaths addObject:indexPath];
}
NSLog(@"%@", array.class);
self.imageInfos = array;
NSLog(@"%@", self.imageInfos.class);
[self.tv insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationRight];
}
しかし、何らかの理由で、上記の方法でarray.class
ログに記録します__NSDictionaryM