【问题标题】:Adding Objects An existing Array添加对象 现有数组
【发布时间】:2012-03-26 23:31:32
【问题描述】:

我的应用程序委托中有一组用户,并且在其中一个屏幕中我试图创建一个对象以添加到该数组中。用户属性只有电子邮件和密码。在屏幕上,我有两个文本字段和一个按钮。我想要它,这样当按下按钮时,它会根据输入到字段中的内容生成一个新用户,并将其放入应用程序委托中的用户数组中。

抱歉学习了堆栈溢出接口atm。我正在使用以下代码:

-(IBAction)addPerson:(id)sender:(ContactViewController *)controller 
{
    Person *newPerson = [Person personWithEmail:controller.usernameTextField.text password:controller.passwordTextField.text]; 
    [self.(Truck_Tracker_AppAppDelegate *)UIApplication.sharedApplication.delegate).listPeople addObject:newPerson];
}

我认为我已经成功创建了 Person 对象 newPerson,但我无法将它传递给应用委托。

【问题讨论】:

  • 你能发布你到目前为止的代码吗?
  • 等等,你的问题到底是什么?
  • -(IBAction)addPerson:(id)sender:(ContactViewController *)controller { Person *newPerson = [Person personWithEmail:controller.usernameTextField.text password:controller.passwordTextField.text]; [self.(Truck_Tracker_AppAppDelegate *)UIApplication.sharedApplication.delegate).listPeople addObject:newPerson]; }

标签: objective-c ios cocoa-touch nsmutablearray


【解决方案1】:

如果它是一个数组,那么它可以是 NSArrayNSMutableArray

第一个是不可变的,你不能将元素添加到现有的NSArray,你可以通过添加元素创建一个新的。

在第一种情况下,您应该执行类似的操作

self.array = [array arrayByAddingObject:newUser];

如果是NSMutableArray,那么您可以通过以下方式轻松添加项目

[self.array addObject:newUser];

【讨论】:

    【解决方案2】:

    当您想使用 NSMutableArray 时,听起来您只使用标准 NSArray。

    查看上面的文档:

    https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html

    NSMutableArray *myArray = [[NSMutableArray alloc] init];
    [myArray addObject:@"some data"];
    

    【讨论】:

      【解决方案3】:

      Apple 开发者网站上的此示例:

      http://developer.apple.com/library/mac/#samplecode/NSTableViewBinding/Introduction/Intro.html

      和你描述的差不多。它应该很容易修改为您想要的。

      【讨论】:

        猜你喜欢
        • 2018-11-19
        • 1970-01-01
        • 2021-12-27
        • 1970-01-01
        • 2017-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多