собственный класс iPhone в массиве, вне области видимости - PullRequest
0 голосов
/ 27 апреля 2011

Я создал свой собственный класс, называемый cls_myClass.

**cls_myClass.h**

@interface cls_myClass : NSObject {
  NSString *i_something;
}
@property (nonatomic, retain) NSString *i_something;
-(NSString *) get_something;
@end

В моем RootViewController у меня есть таймер, массив и табличное представление.

**RootViewController.h**

@interface RootViewController : UITableViewController {
   MSMutableArray *i_array;
   NSTimer *i_timer;
}
...
@end

Теперь я добавляю по таймеру intervall некоторые новые значения для i_array:

**RootViewController.m**
cls_myClass *dummy = [[cls_myClass alloc] init];
[dummy addSomething:@"test"];

[i_array addObject: dummy];
[self.tableView reloadData];

функция - (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection возвращает правильное количество элементов из i_array

Теперь я хочу получить элементы из i_array и поместить их в tableView

**RootViewController.m**
- (UITableViewCell *)tableView(UITableview *)tableView cellForRowAtIndexPath(NSIndexPath *)indexPath {
//...

int *max = [i_array count];
int *idx = indexPath.row;

cls_myClass *dummy = [i_array objectAtIndex:idx];

NSString *something = [dummy get_something];
}

Проблема в том, что вар что-то выходит за рамки, но я не знаю почему ...

Может быть, кто-то может мне помочь? :)

спасибо Хибберт

1 Ответ

1 голос
/ 27 апреля 2011

Используйте

int max = [i_array count];
int idx = indexPath.row;

Вместо

int *max = [i_array count];
int *idx = indexPath.row;

Вы должны прочитать это: http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/MemoryMgmt.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...