【问题标题】:addObject to NSMutableArray not working for iPhone AppaddObject 到 NSMutableArray 不适用于 iPhone 应用程序
【发布时间】:2010-07-14 21:17:07
【问题描述】:

关于这个主题有几个线程,但没有一个能够解决我的问题。本质上,我正在尝试将自定义对象添加到 NSMutableArray 中,但它似乎没有添加。我没有收到任何错误,但我收到警告说我的数组是一个“未使用的变量”,所以看起来它没有被使用。请参阅下面的代码。任何帮助表示赞赏!

这是应用程序委托中的初始化(在运行时它说这个数组没有被使用):

NSMutableArray *organArray = [[NSMutableArray alloc] init];

这是我的对象类organ.m(我正在导入应用程序委托、rootviewcontroller 和organ.h 文件)

Organ *organObj = [[Organ alloc] initWithPrimaryKey:primaryKey];
organObj.organName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,1)];
organObj.isDirty = NO;

[appDelegate.organArray addObject: organObj];

[organObj release];

我知道organObj.organName 正在从我的sqlite 数据库中获取正确的值,因为我可以将它们输出到控制台。他们只是似乎没有被添加到数组中,而且它说数组没有被使用的事实意味着有问题。

提前致谢

【问题讨论】:

    标签: iphone objective-c nsmutablearray


    【解决方案1】:

    只是一个猜测,但如果organArray 打算成为您的应用程序委托的成员,那么您在使用“NSMutableArray”作为前缀时创建了一个新的organArray,所以如果我理解您的代码,请将您的应用程序委托更改为:

    organArray = [[NSMutableArray alloc] init];
    

    代替:

    NSMutableArray *organArray = [[NSMutableArray alloc] init];
    

    【讨论】:

    • 谢谢!这有效,我可以告诉对象正在添加到数组中。我仍然有一个问题,那就是我无法从 RootViewController 访问数组。我的 numberOfRowsInSection 方法中的一个简单的“返回 [appDelegate.organArray 计数]”返回 0。这与我在organ.m 类中创建 appDelegate 对象的方式有关吗?在我的 RootViewController.m 文件中,我包含了organ.h 和我的委托头文件。再次感谢!
    • 别介意,我在我的 RootViewController 中的 viewDidLoad 方法中添加了以下行并修复了它:appDelegate = (RadiologyAppAppDelegate *)[[UIApplication sharedApplication] delegate];再次感谢!
    • @cicero19,对不起,我只是偶尔访问这个网站,所以没有看到你的问题。我很高兴你知道了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 2010-12-22
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多