Questions tagged «cocoa»

Cocoa是Apple的macOS应用程序开发框架,由Foundation,Application Kit和Core Data组成。对iOS问题使用“可可触摸”标签。

4
Objective-C:断言与异常与错误
在可可中,何时应使用NSAssert,NSException,NSError? 这是我一直在想的: NSAssert-创建用于程序员的任何客户端程序时,自己是否有好处来仔细检查规则,约定,假设或前提条件和后置条件? NSException-当创建第三方库以使使用该库的其他程序员受益时,他们将立即知道何时输入无效? NSError-当与外部系统接口以获取诸如文件,数据库或Web服务之类的数据时,不能保证能给我带来结果吗?

3
编译错误:开关,“之前的期望表达式”
顺其自然,我重新制造了我的问题,因为这很容易解释。 这符合没有错误: switch (n) { case 1: NSLog(@""); NSString *aStr; break; default: break; } 这会编译错误,并且只缺少NSLog(): switch (n) { case 1: NSString *aStr; break; default: break; } 它抛出在编译“的误差预期表达‘的NSString’之前” 我在这里想念什么吗?

7
物镜自省/反思
是否有内置的方法,函数,API,普遍接受的方式等来在Objective-C中转储实例化对象的内容,特别是在Apple的Cocoa / Cocoa-Touch环境中? 我希望能够做类似的事情 MyType *the_thing = [[MyType alloc] init]; NSString *the_dump = [the_thing dump]; //pseudo code NSLog("Dumped Contents: %@", the_dump); 并显示对象的实例变量名称和值,以及在运行时可调用的任何方法。理想情况下为易于阅读的格式。 对于熟悉PHP开发人员,我基本上找的反射功能等效(var_dump(),get_class_methods())和面向对象的反射API。

4
在Objective-C中声明和检查/比较(位掩码)枚举
您知道可可里有这个东西,例如您可以创建一个 UIView并执行: view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 我有一个UIView具有多个状态的自定义,enum这样的: enum DownloadViewStatus { FileNotDownloaded, FileDownloading, FileDownloaded }; 对于每个创建的子视图,我设置其tag:subview1.tag = FileNotDownloaded; 然后,我为视图状态创建了一个自定义设置器,它可以执行以下操作: for (UIView *subview in self.subviews) { if (subview.tag == viewStatus) subview.hidden = NO; else subview.hidden = YES; } 但是我想做的是允许这样做: subview1.tag = FileNotDownloaded | FileDownloaded; 所以我subview1以两种状态出现。目前,它在这两个州中均未显示|操作员似乎将两个枚举值相加。 有没有办法做到这一点?

5
编译器错误:“初始化器元素不是编译时常量”
编译此代码时,出现错误“初始化元素不是编译时常量”。谁能解释为什么? #import "PreferencesController.h" @implementation PreferencesController - (id)init { self = [super init]; if (self) { // Initialization code here. } return self; } NSImage* imageSegment = [[NSImage alloc] initWithContentsOfFile:@"/User/asd.jpg"];//error here

7
观察NSMutableArray的插入/移除
一个类具有NSMutableArray类型的属性(和实例var),具有综合访问器(通过@property)。如果您使用以下方法观察此数组: [myObj addObserver:self forKeyPath:@"theArray" options:0 context:NULL]; 然后像这样在数组中插入一个对象: [myObj.theArray addObject:NSString.string]; 没有发送observeValueForKeyPath ...通知。但是,以下确实会发送适当的通知: [[myObj mutableArrayValueForKey:@"theArray"] addObject:NSString.string]; 这是因为mutableArrayValueForKey返回一个负责通知观察者的代理对象。 但是综合访问器是否不应该自动返回这样的代理对象?解决此问题的正确方法是什么?我应该编写一个仅调用的自定义访问器[super mutableArrayValueForKey...]吗?

2
在同一分隔符上多次拆分NSString
我目前收到这样的字符串: @"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54" 我将其拆分为: testArray = [[NSArray alloc] init]; NSString *testString = [[NSString alloc] initWithFormat:@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54,Steve|56,Matty|24,Bill|30,Rob|30,Jason|33,Mark|22,Stuart|54,Kevin|30"]; testArray = [testString componentsSeparatedByString:@","]; dict = [NSMutableDictionary dictionary]; for (NSString *s in testArray) { testArray2 = [s componentsSeparatedByString:@"|"]; [dict setObject:[testArray2 objectAtIndex:1] forKey:[testArray2 objectAtIndex:0]]; } 我现在将收到这样的字符串: @"Sam|26|Developer,Hannah|22|Team Leader,Adam|30|Director,Carlie|32|PA,Jan|54|Cleaner" 我可以(以及如何)使用与上述相同的方法使用“ |”多次分隔字符串。分隔器?

14
使用Swift的FileManager遍历文件夹及其子文件夹中的文件
我对Swift编程非常陌生,并且试图遍历文件夹中的文件。我在这里查看了答案,并尝试将其转换为Swift语法,但未成功。 let fileManager = NSFileManager.defaultManager() let enumerator:NSDirectoryEnumerator = fileManager.enumeratorAtPath(folderPath) for element in enumerator { //do something } 我得到的错误是: Type 'NSDirectoryEnumerator' does not conform to protocol 'SequenceType' 我的目的是查看主文件夹中包含的所有子文件夹和文件,并找到具有特定扩展名的所有文件,然后对它们进行处理。


11
如何从单元格获取UITableViewCell indexPath?
我如何从一个单元格中获取indexPath一个UITableView? 我已经搜索了堆栈溢出和谷歌,但是所有的信息都是相反的。有什么方法可以访问superView/ UITableView,然后搜索单元格? 有关上下文的更多信息:我有两个类,一个被称为Cue,一个被称为CueTableCell(是的子类UITableViewCell)CueTableCell是可视化表示Cue(这两个类彼此具有指针)。Cue对象位于链接列表中,并且当用户执行特定命令时,需要选择CueTableCell下一个的可视表示形式Cue。因此Cue类调用select的下一个方法Cue列表,以检索UITableView从cell并调用它selectRowAtIndexPath:animated:scrollPosition:,为它需要indexPath的UITableViewCell。


11
在Objective-C中四舍五入数字
我试图对数字进行舍入并转换为字符串,以增强Objective-C程序的输出。 我有一个浮点值,我想四舍五入到最接近的.5,然后用它来设置标签上的文本。 例如: 1.4将是以下字符串:1.5 1.2将是以下字符串:1 0.2将是一个字符串:0 我花了一段时间在Google上寻找答案,但是作为Objective-C的菜鸟,我不确定要搜索什么!因此,我非常感谢朝着正确方向的指针! 谢谢,Ash



5
Mac应用程序的NSUserDefaults数据存储在哪里?
我正在使用NSUserDefaults在我的应用程序中存储一些数据。 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:@"dummy string" forKey:@"lastValue"]; [prefs synchronize]; 为了进行测试,我需要查看系统偏好设置plist文件,我的NSUserDefaults数据保存在Mac上。 我知道iOS应用程序用户默认值存储在哪里,但我不知道mac应用程序。Mac应用程序的NSUserDefaults数据存储在哪里?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.