在Objective-C中,如果使用mutableCopy将array1复制到array2上,并假设代码在main()中完成,谁负责释放数组中包含的对象?是main()还是array2?
如果我有这样的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)
我将如何通过将所有标题放在一个数组中,并将所有描述放入另一个数组中?
我需要调用一个cpp函数
void myFunc(float **array2D, int rows, int cols)
{
}
Run Code Online (Sandbox Code Playgroud)
在objective-c对象中.基本上,当我创建NSArray对象时,数组是在我的objective-c代码中创建的.现在,问题是如何将此数组传递给我的cpp函数.
我对这些混合c ++/objective-c的东西有点新,所以任何提示都会受到高度赞赏.
谢谢
我试图保存一个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持久化.
这可能有什么问题?控制台中没有警告或错误.
我有一个来自在线数据库的字符串数组,我试图确定最常用的单词.数组内部的值会有所不同,但我想查看我正在使用的任何集合或单词中最常见的单词.如果理论上我有一个以下阵列......
NSArray *stringArray = [NSArray arrayWithObjects:@"Duck", @"Duck", @"Duck", @"Duck", @"Goose"];
Run Code Online (Sandbox Code Playgroud)
如何遍历此数组以确定最常见的字符串,这显然是"鸭子"?
一位工作的同事和我正在努力正确回答创建数组的两种不同方式之间的确切差异:
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)
先感谢您!
我正在寻找使用Objective C在我的应用程序(Mac OS X或iOS)上存储大量相同类型原语的类型或数据结构.据我所知,NSNumber只存储一个原语(如果我错了,请纠正我).比方说,我有数千个整数或字符串.哪个是在那里放置,存储和访问它们的最佳解决方案?NSSet,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary还是其他什么?我知道它们有不同的功能,但我基本上只关心基本操作(放置,存储,检索)的性能.
是否有更好的方法来转换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) 检查是否有来自数据库的内容时,我遇到了问题:
码:
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)
当我检查它是否为空或是否返回某些内容时,会出现错误.
这可能是一个重复的问题,但我已经浏览了这么多的博客和文档,但我仍然无法弄清楚什么是CFArray.
作为性能明智哪一个最好,何时使用以及哪种情况.请注意这个主题.