iPhone自己的数组中的类,超出范围

发布于 2024-11-03 07:35:10 字数 1203 浏览 1 评论 0原文

我创建了自己的类,名为 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

现在我在timerintervall上添加一些新值到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];
}

问题是, var 超出了范围,但我不知道为什么......

也许有人可以帮助我? :)

谢谢 希伯特

i have created my own class, calles cls_myClass.

**cls_myClass.h**

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

In my RootViewController I have got a timer, an array and a tableview.

**RootViewController.h**

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

Now I add on the timerintervall some new values to the i_array:

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

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

the function -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection returns the correct number of items from i_array

Now I want to get the Items from i_array and put them into the 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];
}

The problem is, that the var something is out of scope, but I don't know why...

maybe someone can help me? :)

thanks
hibbert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九命猫 2024-11-10 07:35:10

使用

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

Use

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

Instead of

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

You should read this : http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/MemoryMgmt.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文