Tag: objective c

由NSMutableArray支持的NSArray @property

我已经定义了一个类,我希望一个公有属性显示好像它是由一个NSArray支持的。 这很简单,但在我的情况下,真正的支持ivar是一个NSMutableArray : @interface Foo { NSMutableArray* array; } @property (nonatomic, retain) NSArray* array; @end 在我的实现文件( *.m )我@synthesize属性,但我立即遇到警告,因为使用self.words是试图修改NSArray 。 什么是正确的方法来做到这一点? 谢谢!

UIImagePickerController摄像头视图在iOS 8上奇怪的旋转(图片)

我有一个非常简单的应用程序: – 所有的方向只允许一个屏幕上的button – button显示UIImagePickerController (拍摄照片) – 与Xcode 5和SDK 7构build 在iOS 8上 , UIImagePickerController的相机无论是横向还是纵向显示都正确,但是当旋转设备时,我将相机视图旋转了90度,这里是一个示例: 我有我的应用程序肖像 我按下显示UIImagePickerController的button 我在相机视图,我去风景模式,这是我得到: 视野在风景中,但相机旋转了90度 别人已经有这个问题吗? PS:如果我拍了一张照片(再次在风景中),照片被正确拍摄,现在正确显示: 编辑 这个错误似乎在运行iOS 8.1的iPad上得到修复,但在iOS 8.1发行说明中并没有涉及到这个错误: https : //developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-8.1/ 感谢所有针对早期版本iOS 8的build议修复!

我在哪里可以find一个关于iPhone / Objective-Cmultithreading的好教程?

我刚刚开始使用multithreading,并正在寻找一个很好的解释。 我不确定multithreading在Mac和iPhone上的工作方式是否存在差异。 什么是与示例代码教程的良好链接?

如何在swift中声明一个可以在目标c中使用的常量

如果我将swift常量声明为一个全局常量,如: let a = "123" 但目标c中找不到a 。 如何解决这个问题?

处理由iOS中的地址簿API中的链接卡造成的重复联系人

我即将推出的应用程序的一些testing版用户报告说,联系人列表包含大量重复的logging。 我使用ABAddressBookCopyArrayOfAllPeople的结果作为我自定义的联系人表格视图的数据源,它让我感到困惑,结果与iPhone的“联系人”应用程序不同。 当仔细查看“通讯录”应用程序时,似乎重复内容来源于“已链接卡片”的条目。 下面的屏幕截图已经被混淆了一下,但正如你在我的应用程序中最右边看到的,“Celine”显示了两次,而左侧的Contacts应用程序中只有一个“Celine”。 如果您点击单个联系人的行,您会看到一张带有两个“链接卡”的“统一信息”卡(如中间所示,因为他们不适合在一个屏幕截图上,所以没有使用塞琳的联系方式) : 关于“链接卡片”的问题在苹果为最终用户提供的论坛上有不less 话题 ,但除了许多指向404支持页面的事实之外,我实际上并没有解决所有应用程序用户的通讯录问题。 我宁愿处理它优雅,而不打扰用户。 更糟糕的是,似乎我不是唯一的这个问题,因为WhatsApp显示包含重复联系人的同一个列表 。 只是为了清楚重复的联系人的起源,我不存储,caching或以其他方式试图聪明的数组ABAddressBookCopyArrayOfAllPeople返回。 所以重复logging直接来自API调用。 有谁知道如何处理或检测这些连接的卡,防止重复logging显示? 苹果的通讯录应用程序,我们其他人也可以这样做吗? 更新:我写了一个库,并把它放在Cocoapods上解决手头的问题。 看到我的答案在下面

swift在编译Xcode时退出代码1失败 – 可能与Bridging-Headers有关

我有一个Obj-C项目,我试图迁移到Swift。 我在各个class都成功了,但最近遇到了一个我似乎无法理解的问题。 当我尝试编译我当前的代码库时,我得到以下(超级不可靠的错误消息) 我唯一的假设是它与桥接头相关,但Xcode并没有给我足够的信息来确定这是否是真实的。 我正在使用Cocoapods将Cocoapods添加到我的项目中。 我正试图将下面的类迁移到swift: Obj-c类(ScatterPlotContainer.h) #import <Foundation/Foundation.h> @class CPTScatterPlot; @interface ScatterPlotContainer : NSObject @property (nonatomic, strong) CPTScatterPlot *ahrsAlt; @property (nonatomic, strong) CPTScatterPlot *calibration; @property (nonatomic, strong) CPTScatterPlot *coreAlt; @property (nonatomic, strong) CPTScatterPlot *pitch; @property (nonatomic, strong) CPTScatterPlot *roll; @property (nonatomic, strong) CPTScatterPlot *slip; @end Obj-c类(ScatterPlotContainer.m) #import <CorePlot/CPTScatterPlot.h> #import "ScatterPlotContainer.h" @implementation ScatterPlotContainer { } […]

分号在Objective-C实现文件中的方法名后面

– (void) designImageViewNow; { //some code here } 分号是否正确; 紧接在实现文件objective-c中的方括号前面。 这会工作吗? 当我在iPhone应用程序上工作时,我错误地将方法名称放在我的自定义类中的一个分号后面。 但没有警告或任何崩溃。 实际上它工作正常。

ARC下归零弱引用的集合

我怎样才能得到一个数组零引用下弱引用 ? 我不希望数组保留对象。 而且我希望数组元素可以在释放时自行删除,或者将这些条目设置为nil。 同样的,我怎样才能用字典呢? 我不希望字典保留这些值。 再次,我希望字典元素或者在值被释放时自行移除,或者将值设置为零。 (我需要保留这些唯一标识符的键,至less在取消分配相应的值之前)。 这两个问题包含了类似的理由: 对ARC下的对象的弱引用的NSArray 有一个不保留的id对象列表? 但是也不要求引用归零 。 根据文档,NSPointerArray和NSHashMap都不支持ARC下的弱引用。 NSValue的nonretainedObjectValue也不会工作,因为它是非零。 我看到的唯一的解决scheme是创build我自己的 NSValue类包装类(weak)属性, 这个答案提到,接近尾声 。 有没有更好的方法,我没有看到? 我正在开发OS X 10.7和iOS 6.0。

目标C – 为什么常量以k开始

为什么我见过的所有例子中的常量总是以k开始? 我应该在#头文件或.m文件中定义常量吗? 我是新来的目标C,我不知道C.是否有一些教程在某些地方解释这些事情,而不假设知识的C?

iOS示例项目学习

我刚刚开始iOS开发。 我阅读了一些教程,在iTunes U上观看了一些东西,并自己写了一些示例代码。 现在我想要采取下一步。 我想了解XCode中iOS开发的最佳实践。 有没有什么写得好的,组织良好的iOS项目,可以看看? (就我所见,iOS并不是开源软件爱好者的地方。) 谢谢 麦克风。