标签: nsarray

复制时谁负责释放数组中的对象?

在Objective-C中,如果使用mutableCopy将array1复制到array2上,并假设代码在main()中完成,谁负责释放数组中包含的对象?是main()还是array2?

cocoa memory-management objective-c nsarray

3
推荐指数
1
解决办法
424
查看次数

通过一个plist步进获取信息

如果我有这样的plist设置

Key           Type         Value
Root          Array
 Item 0       Dictionary  
 -Title       String       Part One
 -Description String       Welcome to part one. Have fun
 Item 1       Dictionary  
 -Title       String       Part Two
 -Description String       Welcome to part two. Fun too.
 Item 2       Dictionary  
 -Title       String       Part Three
 -Description String       Welcome to part three. It's free
 Item 3       Dictionary  
 -Title       String       Part Four
 -Description String       It's part four. No more
Run Code Online (Sandbox Code Playgroud)

我将如何通过将所有标题放在一个数组中,并将所有描述放入另一个数组中?

iphone objective-c plist nsarray

3
推荐指数
1
解决办法
436
查看次数

将NSArray传递给cpp函数

我需要调用一个cpp函数

void myFunc(float **array2D, int rows, int cols)
{
}
Run Code Online (Sandbox Code Playgroud)

在objective-c对象中.基本上,当我创建NSArray对象时,数组是在我的objective-c代码中创建的.现在,问题是如何将此数组传递给我的cpp函数.

我对这些混合c ++/objective-c的东西有点新,所以任何提示都会受到高度赞赏.

谢谢

c++ objective-c nsarray

3
推荐指数
1
解决办法
2630
查看次数

iOS NSDictionary保存到NSUserDefaults而不保存值

我试图保存一个NSDictionary数组值,NSUserDefaults但有一些奇怪的麻烦.

我NSDictionary已经NSStrings为keys每value一个NSArray的NSNumbers.当我打印字典时,一切都很好.我写这本字典NSUserDefaults,如果我马上把它读出来,一切都很好.使用这一切接缝就好了:

[[NSUserDefaults standardUserDefaults] setObject:self.selectedOptionPositions 
                                          forKey:PREF_OPTIONS_KEY];
[[NSUserDefaults standardUserDefaults] synchronize];

//THIS PRINT EVERYTHING OUT EXACTLY AS IT SHOULD!       
NSLog(@"read after write: %@", [[NSUserDefaults standardUserDefaults] 
                                 objectForKey:PREF_OPTIONS_KEY]);
Run Code Online (Sandbox Code Playgroud)

当我创建一个处理它的类的新实例时,问题就来了.当我创建类的新实例并在init方法中检查时,NSDictionary如下所示:

NSLog(@"read initial: %@", [[NSUserDefaults standardUserDefaults] 
                              objectForKey:PREF_OPTIONS_KEY]);
Run Code Online (Sandbox Code Playgroud)

当我打印该日志记录时,它NSDictionary包含所有键,但所有键values现在都是空的!keys重新创建类后,所有新添加的都存在,但没有values持久化.

这可能有什么问题?控制台中没有警告或错误.

objective-c nsdictionary nsuserdefaults nsarray ios

3
推荐指数
1
解决办法
7144
查看次数

Objective-C:如何在数组中找到最常见的字符串?

我有一个来自在线数据库的字符串数组,我试图确定最常用的单词.数组内部的值会有所不同,但我想查看我正在使用的任何集合或单词中最常见的单词.如果理论上我有一个以下阵列......

NSArray *stringArray = [NSArray arrayWithObjects:@"Duck", @"Duck", @"Duck", @"Duck", @"Goose"];
Run Code Online (Sandbox Code Playgroud)

如何遍历此数组以确定最常见的字符串,这显然是"鸭子"?

objective-c nsstring nsarray

3
推荐指数
1
解决办法
1301
查看次数

使用@ []和initWithObjects进行Objective-C数组分配

一位工作的同事和我正在努力正确回答创建数组的两种不同方式之间的确切差异:

NSArray *array1 = @[@"this is my first entry",@"this is my second entry"];
NSArray *array2 = [[NSArray alloc] initWithObjects:@"first entry",@"second entry",nil];
Run Code Online (Sandbox Code Playgroud)
  • 有谁能解释一下?
  • 使用的首选方式是什么?为什么?
  • 另一个有趣的问题是:NSString,NSDictionary等类的工作方式是否相同?

先感谢您!

object objective-c nsarray

3
推荐指数
1
解决办法
1215
查看次数

使用Objective C存储数据的最可靠,最快的类型或数据结构是什么?

我正在寻找使用Objective C在我的应用程序(Mac OS X或iOS)上存储大量相同类型原语的类型或数据结构.据我所知,NSNumber只存储一个原语(如果我错了,请纠正我).比方说,我有数千个整数或字符串.哪个是在那里放置,存储和访问它们的最佳解决方案?NSSet,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary还是其他什么?我知道它们有不同的功能,但我基本上只关心基本操作(放置,存储,检索)的性能.

objective-c nsdictionary nsarray nsset ios

3
推荐指数
1
解决办法
1739
查看次数

将NSString的NSArray转换为NSNumber的NSArray的更好方法

是否有更好的方法来转换NSArray的NSString到NSArray的NSNumber比下面的代码:

-(NSArray*) convertStringArrayToNumberArray:(NSArray *)strings {
    NSMutableArray *numbers = [[NSMutableArray alloc] initWithCapacity:strings.count];
    for (NSString *string in strings) {
        [numbers addObject:[NSNumber numberWithInteger:[string integerValue]]];
    }
    return numbers;
}
Run Code Online (Sandbox Code Playgroud)

objective-c nsnumber nsstring nsarray ios

3
推荐指数
1
解决办法
1419
查看次数

如何解决这个"索引0超出空数组的界限!"

检查是否有来自数据库的内容时,我遇到了问题:

码:

hourPrograma: @"12:00";
NSArray *hourLinha = [hourProgram componentsSeparatedByString:@":"];

NSArray * test = [notificationDAO selectHourMin:[hourLinha[0] intValue]:[hourLinha[1] intValue]];

if (!test[0]) {
   NSLog(@"ok!!!");
} else {
   NSLog(@"empty!!!");
}
Run Code Online (Sandbox Code Playgroud)

我的查询:

-(NSArray *) selectHourMin:(NSInteger *) hour: (NSInteger *) min {
    query = [NSString stringWithFormat:@"SELECT hour, min FROM notification WHERE %i = hour AND %i = min", hour, min];
    NSArray * resp = [self loadDataFromDB:query];
    return resp;
}
Run Code Online (Sandbox Code Playgroud)

当我检查它是否为空或是否返回某些内容时,会出现错误.

objective-c nsarray ios

3
推荐指数
1
解决办法
1382
查看次数

什么是CFArray和CFArray与NSArray之间的区别

这可能是一个重复的问题,但我已经浏览了这么多的博客和文档,但我仍然无法弄清楚什么是CFArray.

作为性能明智哪一个最好,何时使用以及哪种情况.请注意这个主题.

objective-c nsarray cfarraybsearchvalues

3
推荐指数
2
解决办法
1882
查看次数