如何向NSMutableArray添加多个对象以及如何检索我的对象属性?

时间:2014-08-24 11:23:31

标签: ios objective-c

超级基本问题,我遇到了问题。

  1. 如何向NSMutableArray添加多个对象? (现在我只添加一个self.itemsArray[0] = iPhoneItem;
  2. 如何检索第一个对象属性(itemName)?
  3. 我有一个calss:Item - 看起来如下。

    Item.h

    @interface Item : UITableViewController
    
    @property (nonatomic, copy) NSString *itemTitle;
    
    - (id)initWithItemTitle:(NSString *)aTitle;
    
    @end
    

    Item.m

    @interface Item ()
    
    @end
    
    @implementation Item
    
    - (id)initWithTitle:(NSString *)aTitle {
        self = [super init];
    
        if (self) {
            self.itemTitle = aTitle;
        }
    
        return self;
    }
    @end
    

    现在我只想创建一些对象,将它们添加到NSMutableArray并检索itemTitle属性。

    ViewController.m - (。h没有标准“创建singel视图应用程序”的其他更改

    #import "ViewController.h"
    #import "Item.h"
    
    @interface ViewController ()
    
    @property (nonatomic, strong) NSMutableArray *itemsArray;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        Item *iPhoneItem = [[Item alloc] initWithItemTitle:@"iPhone"];
        Item *iPadItem = [[Item alloc] initWithItemTitle:@"iPad"];
        Item *macBookPro = [[Item alloc] initWithItemTitle:@"MacBookPro"];
    
        self.itemsArray[0] = iPhoneItem;
    
        NSLog(@"%@", self.itemsArray[0].itemTitle); //How would i do this?
    }
    
    @end
    

    最好的问候,iOS-rookie。

2 个答案:

答案 0 :(得分:0)

您只需查看iOS参考,无需提问:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/occ/instm/NSMutableArray/addObjectsFromArray

无论如何,这是一个例子:

[itemsArray addObjectsFromArray: @[obj1, obj2]]; //adding multiple objects
((Item *)[itemsArray firstObject]).itemTitle //get title of your object

答案 1 :(得分:0)

直接访问数组中对象的属性是不好的做法,如:       self.itemsArray [0] .itemTitle

更清洁:         Item iPhoneItem =(Item )[itemsArray objectAtIndex:0];         NSLog(@"%@",iPhoneItem.itemTitle);

另请注意,您可以使用[itemsArray firstObject];和[itemsArray lastObject];