Tag: objective c

“__block”是什么意思?

Objective-C中的__block关键字是什么意思? 我知道它允许你修改块内的variables,但我想知道… 究竟是什么告诉编译器? 它做了什么吗? 如果是这样,那么为什么它需要摆在首位呢? 它在任何地方的文档? (我找不到)。

开始使用instancetype而不是id是否有益?

Clang添加了一个关键字instancetype ,就我所见, -alloc idreplace为-alloc和init的返回types。 使用instancetype而不是id有什么好处?

使用UITextBorderStyleNone为UITextField设置填充

我想为我的UITextFields使用自定义的背景。 这工作正常,除了我不得不使用UITextBorderStyleNone使它看起来漂亮。 这迫使文本粘在左边没有任何填充。 我可以手动设置填充,使其看起来类似于UITextBorderStyleRoundedRect除了使用我的自定义背景图像吗?

JSON和核心数据在iPhone上

我有一个核心数据对象图(由两个实体链接到一对多的关系)。 我很好奇,作为一个相对缺乏经验的iPhone开发人员,是否有人可以推荐一种方法,并为iPhone合适的JSON实现,这将允许我: 1)将核心数据logging转换成JSONstring(同时保持实体之间的关系); 和 2)将JSONstring转换回核心数据对象(再次保留实体之间的关系)。 我已经search了一个关于这一点的教程/代码示例,但是没有成功,所以我会很感激地收到任何帮助。

调用-retainCount被认为是有害的

或者,为什么我没有在我的暑假中使用retainCount 这篇文章的目的是要详细介绍一下这个臭名昭着的方法的原因和retainCount ,以便整合围绕SO的相关信息。 基础知识:不使用retainCount的官方原因是什么? 有没有什么情况可能有用? 应该做些什么呢?**随意编辑。 历史/解释:为什么苹果在NSObject协议中提供这种方法,如果它不打算被使用? 苹果的代码是否依赖于retainCount用于某种目的? 如果是这样,为什么不把它藏在某处? 为了更深入的理解:对象可能具有不同于用户代码假设的保留数的原因是什么? 你能举出框架代码可能使用的标准程序的例子吗? 是否有任何已知的情况下保留计数总是不同于新用户可能期望的? 还有什么你认为值得关于retainCount ? *对于Objective-C和Cocoa来说,新的编程人员经常会对参考计数scheme进行纠正,或者至less是误解。 教程的解释可能会提到保留计数,根据这些解释,当您调用retain , alloc , copy等等时,向上调一,当您调用release (以及在将来的某个时刻调用autorelease )。 一个正在萌芽的Cocoa黑客Kris可以很容易地认识到,检查一个对象的保留数对于解决一些内存问题是有用的,而且你会发现在每个对象上有一个叫做retainCount ! 克里斯在一些物体上调用retainCount ,这个值太高了,太低了,到底是怎么回事?! 所以Kris在SO上做了一个post,“我的memory management出了什么问题? 然后一群<大写>,<大写字母下降,说:“不要那样做,不能靠结果”,这是好的,但是我们无畏的编码者可能需要更深的解释。 我希望这将成为一个常见问题解答,我们的任何专家都倾向于写一个好的信息散文/讲座页面,当新的cocoa头在怀疑retainCount时可以指出。 **我不想把这个过于宽泛,但是具体的经验或者关于validation/debugging的文档保留和释放配对在这里可能是合适的。 ***在虚拟代码中; 显然普通大众不能访问苹果的实际代码。

像素空间中的OpenGL纹理坐标

我正在开发一个使用OpenGL ES 2进行绘图的iPhone应用程序。 我知道通常纹理坐标是在0-1范围内定义的,但是为了便于阅读,理想情况下我想从0-1023(我的TextureAtlas的大小)映射它们。 我已经看到了以这种方式定义坐标的示例代码,但是还没有能够列出之前做过的调用。 glMatrixMode(GL_TEXTURE)似乎可能涉及到,但我不太清楚如何实现它。 我的最终目标是完成这样的事情,在图集里我将使用的纹理是在左上angular的48px square: GLshort texcoords[]={ 48,48, 0,48, 48,0, 0,0, }; glVertexAttribPointer(ATTRIB_TEXTUREPOSITON, 2, GL_SHORT, 0, 0, texcoords); glEnableVertexAttribArray(ATTRIB_TEXTUREPOSITON);

在iOS 7上运行应用程序时显示黑条(4英寸视网膜显示)

我们有一个基于5.1. SDK构build的iPod应用程序5.1. 应用程序有一个tabBarController与三个选项卡,每个选项卡有一个UIViewController加载不同的视图。 该应用程序适用于iOS 6.1和iOS 7 (3.5英寸显示器)模拟器和设备,但是当我们在iOS 7 (4英寸显示器模拟器)或设备上运行应用程序时,我们在屏幕的顶部和底部得到黑条所有三个选项卡。 如果有人能为此提出理由或解决这个问题的一些可行办法,对我们来说真的很有帮助。 谢谢

如何在Objective-C中声明类级属性?

也许这是显而易见的,但我不知道如何在Objective-C中声明类属性。 我需要caching每类字典,并想知道如何把它放在课堂上。

获取iOS应用程序的位置更新即使在暂停状态

在2014年初,苹果公司已经将iOS 7.0升级到了7.1版本,即使应用程序在前台而不是在后台处于活动状态,也允许进行位置更新。 我们怎么做? 我已经阅读了一些文章,如苹果的iOS 7.1将修复一个地理定位错误 。 但是苹果公​​司并没有提供相关的通信,也没有提供任何关于如何获取位置更新的示例代码,即使应用程序被终止/终止/挂起。 我已阅读iOS 7.1发行说明 。 我也找不到与此相关的任何内容。 那么,即使应用程序被暂停,我们如何才能真正获得iOS 7和8的位置更新?

如何在一个NSAttributedString中创build一个可点击的链接

使超链接在UITextView可点击是微不足道的。 您只需在IB的视图中设置“检测链接”checkbox,并检测http链接并将其转换为超链接。 但是,这仍然意味着用户看到的是“原始”链接。 RTF文件和HTML都允许你设置一个用户可读的string,并在其后面有一个链接。 将属性文本安装到文本视图(或UILabel或UITextField )很容易。但是,如果该属性文本包含链接,则该链接不可点击。 有没有办法让用户可读的文本在UITextView , UILabel或UITextField ? SO的标记是不同的,但这里是一般的想法。 我想要的是这样的文字: 这个变形是由Face Dancer生成的,点击查看app store。 我唯一能得到的就是: 这个变形是用Face Dancer生成的,点击http://tinyurl.com/facedancer在app store中查看。