标签: nsarray

测试NSMutableArray是否包含字符串对象

我有一个NSMutableArray包含一些NSString对象.如何测试数组是否包含特定的字符串文字?

我尝试[array containsObject:@"teststring"]但是这不起作用.

iphone nsarray

40
推荐指数
5
解决办法
5万
查看次数

NSArray添加元素

我必须创建一个动态NSArray,也就是说,我不知道数组的大小或数组将具有的元素.需要动态地将元素添加到数组中.我查看了NSArray类引用.有一个名为arrayWithObjects的方法,应该在初始化数组本身时使用.但我不知道如何实现我需要做的事情.

我需要做一些像下面这样的事情:

NSArray *stringArray = [[NSArray init] alloc] ;  
for (int i = 0; i < data.size; i++){  
    stringArray.at(i) = getData(i);
}
Run Code Online (Sandbox Code Playgroud)

objective-c nsarray

39
推荐指数
2
解决办法
9万
查看次数

NSArray @property由NSMutableArray支持

我已经定义了一个类,我希望公共属性看起来好像是由一个NSArray.这很简单,但在我的情况下,实际的支持ivar是NSMutableArray:

@interface Foo
{
    NSMutableArray* array;
}
@property (nonatomic, retain) NSArray* array;

@end
Run Code Online (Sandbox Code Playgroud)

在我的实现文件(*.m)我@synthesize的属性,但我立即遇到警告,因为使用self.words与尝试修改一样NSArray.

这样做的正确方法是什么?

谢谢!

objective-c mutable nsarray ios

39
推荐指数
4
解决办法
1万
查看次数

使用NSArray初始化对象数组

我是Objective-C和iOS的新手,所以我一直在玩Picker View.我已经定义了一个Person Class,这样当你创建一个新的Person时,它会自动给那个人一个名字和年龄.

#import "Person.h"

@implementation Person

@synthesize personName, age;

-(id)init
{
    self = [super init];
    if(self)
    {
        personName = [self randomName];
        age = [self randomAge];
    }

    return self;
}

-(NSString *) randomName
{
    NSString* name;
    NSArray* nameArr = [NSArray arrayWithObjects: @"Jill Valentine", @"Peter Griffin", @"Meg Griffin", @"Jack Lolwut",
                            @"Mike Roflcoptor", @"Cindy Woods", @"Jessica Windmill", @"Alexander The Great",
                            @"Sarah Peterson", @"Scott Scottland", @"Geoff Fanta", @"Amanda Pope", @"Michael Meyers",
                            @"Richard Biggus", @"Montey Python", @"Mike Wut", @"Fake Person", @"Chair",
                            nil];
    NSUInteger randomIndex …
Run Code Online (Sandbox Code Playgroud)

arrays objective-c nsarray ios

39
推荐指数
3
解决办法
15万
查看次数

将[String]存储在NSUserDefaults中

我想将Swift样式字符串数组保存到NSUserDefaults中,但实际上代码中的"if"语句表示returnValue始终为nil.

稍后在代码(iOS 8)中我想使用"food + = ["spaghetti"]添加新条目.

var food : [String] {
    get {
        var returnValue : [String]? = NSUserDefaults.standardUserDefaults().objectForKey("food") as? [String]
        if returnValue == nil      //Check for first run of app
        {
            returnValue = ["muesli", "banana"]; //Default value
        }
        return returnValue!
    }
    set (newValue) {
        NSUserDefaults.standardUserDefaults().setObject(newValue, forKey: "food")
        NSUserDefaults.standardUserDefaults().synchronize()
    }
}
Run Code Online (Sandbox Code Playgroud)

string nsuserdefaults nsarray ios swift

39
推荐指数
3
解决办法
4万
查看次数

从NSArray执行块?

我只是想,因为如果我创建其中两个然后将它们添加到NSArray中,你可以将块视为对象,是否有办法从数组中执行它们?

int (^Block_001)(void) = ^{ return 101; };
int (^Block_002)(void) = ^{ return 202; };
NSArray *array = [NSArray arrayWithObjects:Block_001, Block_002, nil];
Run Code Online (Sandbox Code Playgroud)

编辑:更新清晰Per @ davedelong的优秀答案

int (^Block_001)(void) = [^{ return 101; } copy];
int (^Block_002)(void) = [^{ return 202; } copy];
NSArray *array = [NSArray arrayWithObjects:Block_001, Block_002, nil];

[Block_001 release];
[Block_002 release];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c nsarray objective-c-blocks

37
推荐指数
3
解决办法
9687
查看次数

iOS - 使用swift中的ObjectMapper映射根JSON数组

我使用库ObjectMapper将json映射到我的对象,但是我有一些问题要映射根json数组.

这是收到的json:

[
   {
       CustomerId = "A000015",
       ...
   },
   {
       CustomerId = "A000016",
       ...
   },
   {
       CustomerId = "A000017",
       ...
   }
]
Run Code Online (Sandbox Code Playgroud)

这是我的目标

class Customer : Mappable
{
    var CustomerId : String? = nil

    class func newInstance(map: Map) -> Mappable? {
        return Customer()
    }

    func mapping(map: Map) {
        CustomerId   <- map["CustomerId"]
    }
}
Run Code Online (Sandbox Code Playgroud)

我用我的控制器映射json

let json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &error) as! NSArray

if (error != nil) {
    return completionHandler(nil, error)
} else {
    var customers = Mapper<Customer>().map(json)
} …
Run Code Online (Sandbox Code Playgroud)

json nsarray ios swift

36
推荐指数
2
解决办法
2万
查看次数

使用NSPredicate确定字符串是否等于另一个字符串

我有一个NSArray使用该[CalCalendarStore eventPredicateWithStartDate]方法返回的CalEvents .从返回的事件中,我试图只保留事件标题== @"on call"(不区分大小写)的那些事件.

我能够在数组中保留标题包含 @"on call"以下代码的事件(其中'events'是'NSArray'填充的CalEvents):

NSPredicate *onCallPredicate = [NSPredicate predicateWithFormat:@"(SELF.title CONTAINS[c] 'on call')"];
[events filteredArrayUsingPredicate:onCallPredicate];
Run Code Online (Sandbox Code Playgroud)

我尝试使用谓词格式字符串,如:

@"SELF.title == 'on call'" 但这似乎不起作用.

有更简单的方法吗?

objective-c nsstring nsarray nspredicate

35
推荐指数
2
解决办法
4万
查看次数

如何使用新对象替换给定索引处的NSMutableArray中的对象

我有一个NSMutableArray对象(保留,合成为全部),启动得很好,我可以使用该addObject:方法轻松地向其添加对象.但是如果我想用一个新的替换某个索引处的某个对象NSMutableArray,它就不起作用了.

例如:

ClassA.h:

@interface ClassA : NSObject {
    NSMutableArray *list;
}

@property (nonatomic, copy, readwrite) NSMutableArray *list;

@end
Run Code Online (Sandbox Code Playgroud)

ClassA.m:

#import "ClassA.h"

@implementation ClassA

@synthesize list;

- (id)init 
{
    [super init];
    NSMutableArray *localList = [[NSMutableArray alloc] init];
    self.list = localList;
    [localList release];
    //Add initial data
    [list addObject:@"Hello "];
    [list addObject:@"World"];
}


// Custom set accessor to ensure the new list is mutable
- (void)setList:(NSMutableArray *)newList 
{
    if (list != newList) 
    {
        [list release]; …
Run Code Online (Sandbox Code Playgroud)

objective-c nsarray ios

35
推荐指数
3
解决办法
8万
查看次数

NSDictionary到NSArray?

我有一个NSDictionary看起来像:

{
"Item1" = 2.4;
"Item2" = 5.5;
"Item3" = 15.6;
}
Run Code Online (Sandbox Code Playgroud)

NSDictionary在表格视图中使用此项目,我必须将其转移到a NSArray,我是对的吗?

所以我尝试:

NSDictionary *dict = [myDict objectForKey:@"items"];

for (id item in dict) {
    [_myArray addObject:[dict objectForKey:item]];
}
Run Code Online (Sandbox Code Playgroud)

但_myArray一直空着?我究竟做错了什么?

objective-c nsdictionary nsarray

34
推荐指数
4
解决办法
11万
查看次数