NSArray с NSString Это вообще возможно? - PullRequest
0 голосов
/ 15 августа 2011

Я пытаюсь сгруппировать секционированный вид.Я хочу установить массив в качестве объекта в словаре, но я натолкнулся на проблемы с пустым массивом.Это даже возможно ?????Есть ли хитрость ????

#import "RootViewController.h"

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{    
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    // Get the specific Node for this row.
    Nodes *nodes = (Nodes *)[nodesMArray objectAtIndex:indexPath.row];
    // Create the Details View Controller and initialize it. 
    nodesDetailView *viewController = [[nodesDetailView alloc] initWithStyle:UITableViewStyleGrouped ];
    [[self navigationController] pushViewController:viewController animated:YES];   

    // Set the title of the view to the nodes name
    viewController.title = [nodes computer_name];
    //Information
    //Network Data
    viewController.ipaddress= [nodes ipaddress];
    viewController.subnet_mask= [nodes subnet_mask];
    viewController.gateway= [nodes gateway];
    viewController.domain_name= [nodes domain_name];
}

#import "nodesDetailViewController. h


@interface nodesDetailView : UITableViewController{

//Network Data
NSString *ipaddress;
NSString *subnet_mask;
NSString *gateway;
NSString *domain_name;

//Grouped 
NSMutableArray *Keys;
NSMutableDictionary *Contents;

}

@property (nonatomic, retain) NSMutableArray *Keys;
@property (nonatomic, retain) NSMutableDictionary *Contents;



@property (nonatomic, retain) NSString *ipaddress;
@property (nonatomic, retain) NSString *subnet_mask;
@property (nonatomic, retain) NSString *gateway;
@property (nonatomic, retain) NSString *domain_name;



@end

#import "nodesDetailViewController. m


@synthesize .......


- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {

    NSMutableArray *keys = [[NSMutableArray alloc] init];
    NSMutableDictionary *contents = [[NSMutableDictionary alloc] init];


    NSString *network = @"Network Data";
    NSString *product = @"Product Details";

  //IS THIS POSSIBLE ??????? Because I get An Empty array 
    [contents setObject:[NSArray arrayWithObjects: ipaddress,subnet_mask, gateway, domain_name, nil] forKey:network];

 return self;
}

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 15 августа 2011

Проверьте значения, которые вы передаете из табличного представления. Они, возможно, ноль. Я просто использовал эту большую часть данных, и я получаю правильный NSLog.

NSMutableDictionary *contents = [[NSMutableDictionary alloc] init];
NSString *my = @"kk";
NSString *my1 = @"polko";
[contents setObject:[NSArray arrayWithObjects: my1,my, nil] forKey:@"o"];
NSLog(@"%@" , contents);
0 голосов
/ 15 августа 2011

Для тех, кто задается вопросом: проблема решена Мой код был в порядке.проблема была: это было не в том месте.

Код Предполагается, что он находится в - (void) viewDidLoad, а не в - (id) initWithStyle:

Я хочу поблагодарить всех, кто нашел время, чтобы посмотреть на него.Я понятия не имею, почему я положил код туда для начала.

Еще раз спасибо

0 голосов
/ 15 августа 2011

Все те строки, которые вы добавляете в массив, еще даже не были выделены / инициализированы.Вот почему массив пуст.Вы не можете просто пойти: NSString *emptyString; и затем пойти: [myArray addObject:emptyString];.Все ваши строки пусты.

...