Questions tagged «cocoa»

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

24
Xcode构建失败“体系结构x86_64的未定义符号”
Xcode初学者的问题: 这是我第一次使用Xcode 4.6.3。 我正在尝试编写一个非常简单的控制台程序,该程序搜索配对的BT设备并将其打印到NSLog。 生成时出现以下错误: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_IOBluetoothDevice", referenced from: objc-class-ref in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 我疯狂地搜寻。常见的问题应该是对文件的引用,该文件仅导入了头文件,而链接器未找到任何实现(* .m文件)。但是,IOBluetooth库是一个类似于Foundation框架的标准框架。 我在上述声明中缺少什么? 我也尝试过为32位计算机构建它(构建再次失败)。显然这是一个链接器错误,但是我不知道它与它之间的关系,除了在x86和x64体系结构上查找IOBluetoothDevice的实现存在问题之外,而头文件来自一个包含在标准中的Framework(称为IO蓝牙? 供您参考,我的主要代码“ main.m”为: #import <Foundation/Foundation.h> #import <IOBluetooth/objc/IOBluetoothDevice.h> // Note the …

9
可可Objective-C类中变量前面的下划线如何工作?
我在一些iPhone示例中看到,属性在变量前面使用了下划线_。有人知道这意味着什么吗?或如何运作? 我正在使用的接口文件如下所示: @interface MissionCell : UITableViewCell { Mission *_mission; UILabel *_missionName; } @property (nonatomic, retain) UILabel *missionName; - (Mission *)mission; 我不确定上面的功能到底是什么,但是当我尝试将任务名称设置为: aMission.missionName = missionName; 我得到错误: 请求成员“ missionName”使用非结构或联合的形式






10
如何判断对象是否附加了键值观察器
如果您告诉一个目标c对象removeObservers:对于一个关键路径而该关键路径尚未注册,这将使您难过。喜欢 - “无法从中删除键路径“ theKeyPath”的观察者,因为它没有注册为观察者。 有没有一种方法可以确定一个对象是否具有注册的观察者,所以我可以这样做 if (object has observer){ remove observer } else{ go on my merry way }

7
在启用ARC的代码中修复警告“在此块中强烈捕获[对象]可能会导致保留周期”
在启用ARC的代码中,当使用基于块的API时,如何解决有关潜在保留周期的警告? 警告: Capturing 'request' strongly in this block is likely to lead to a retain cycle 由以下代码片段生成: ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:... [request setCompletionBlock:^{ NSDictionary *jsonDictionary = [[CJSONDeserializer deserializer] deserialize:request.rawResponseData error:nil]; // ... }]; 警告与request块内对象的使用有关。

4
NSInvocation为假人?
NSInvocation工作原理如何?有没有很好的介绍? 我在理解以下代码(来自Mac OS X的Cocoa编程,第3版)如何工作时遇到一些问题,但同时也能够独立于教程示例来应用这些概念。代码: - (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index { NSLog(@"adding %@ to %@", p, employees); // Add inverse of this operation to undo stack NSUndoManager *undo = [self undoManager]; [[undo prepareWithInvocationTarget:self] removeObjectFromEmployeesAtIndex:index]; if (![undo isUndoing]) [undo setActionName:@"Insert Person"]; // Finally, add person to the array [employees insertObject:p atIndex:index]; } - …

10
使用glob获取目录中的文件列表
出于某种疯狂的原因,我找不到一种方法来获取给定目录的文件列表。 我目前坚持以下方面: NSString *bundleRoot = [[NSBundle mainBundle] bundlePath]; NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:bundleRoot]; ..然后去掉我不想要的东西,这很烂。但是我真正想要的是能够搜索“ foo * .jpg”之类的内容,而不是查询整个目录,但是我却找不到类似的东西。 那么,你怎么做到的呢?

11
从NSString删除所有空格
我一直在尝试摆脱中的空白NSString,但是我尝试过的任何方法都没有用。 我有"this is a test",我想得到"thisisatest"。 我使用过whitespaceCharacterSet,它应该消除空白。 NSString *search = [searchbar.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; 但我一直用空格得到相同的字符串。有任何想法吗?


8
将NSDate格式化为年,月,日以及时,分,秒的特定样式
我基本上需要分别获取当前日期和时间,格式为: 2009-04-26 11:06:54 下面的代码来自同一主题的另一个问题,它生成 现在:| 2009-06-01 23:18:23 +0100 | dateString:| 2009年6月1日23:18 | 解析:| 2009-06-01 23:18:00 +0100 | 这几乎是我想要的,但是我想将日期和时间分开。 NSDateFormatter *format = [[NSDateFormatter alloc] init]; [format setDateFormat:@"MMM dd, yyyy HH:mm"]; NSDate *now = [[NSDate alloc] init]; NSString *dateString = [format stringFromDate:now]; NSDateFormatter *inFormat = [[NSDateFormatter alloc] init]; [inFormat setDateFormat:@"MMM dd, yyyy"]; …

11
更改CALayer的anchorPoint可移动视图
我想更改anchorPoint,但将视图保留在同一位置。我已经尝试过NSLog-ing self.layer.position,self.center并且无论如何更改anchorPoint,它们都保持不变。但是我的观点动了! 有关如何执行此操作的任何提示? self.layer.anchorPoint = CGPointMake(0.5, 0.5); NSLog(@"center point: %f %f", self.layer.position.x, self.layer.position.y); self.layer.anchorPoint = CGPointMake(1, 1); NSLog(@"center point: %f %f", self.layer.position.x, self.layer.position.y); 输出为: 2009-12-27 20:43:24.161 Type[11289:207] center point: 272.500000 242.500000 2009-12-27 20:43:24.162 Type[11289:207] center point: 272.500000 242.500000

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.