Tag: cocoa touch

以编程方式检索iPhone上的内存使用情况

我试图检索我的iPhone应用程序在任何时候,以编程方式使用的内存量。 是的,我知道关于ObjectAlloc /泄漏。 我对这些不感兴趣,只知道是否可以编写一些代码并获取正在使用的字节数量并通过NSLog报告。 谢谢。

视图控制器之间进行通信的最佳方式是什么?

作为Objective-C,cocoa和iPhone开发者的新手,我强烈渴望从语言和框架中获得最大的收益。 我正在使用的资源之一是斯坦福大学的CS193P课堂笔记,他们已经离开了networking。 它包括讲义,作业和示例代码,由于课程是由苹果开发者提供的,我绝对认为它是“从马口”。 class级网站: http://www.stanford.edu/class/cs193p/cgi-bin/index.php 08讲座涉及到一个分配,build立一个基于UINavigationController的应用程序,有多个UIViewControllers推到UINavigationController堆栈上。 这就是UINavigationController的工作原理。 这是合乎逻辑的。 但是,幻灯片中有一些关于你的UIViewControllers之间的沟通的严重警告。 我要引用这个严肃的幻灯片: http://cs193p.stanford.edu/downloads/08-NavigationTabBarControllers.pdf 页面16/51: 如何不共享数据 全局variables或单身人士 这包括您的应用程序委托 直接的依赖性使得你的代码更加可重用 而且更难debugging 好。 我对此感到失望。 不要盲目折腾所有用于viewcontroller与应用程序委托之间的通信的方法,并在应用程序委托方法中引用viewcontroller实例。 公平'nuff。 再进一步,我们得到这张幻灯片告诉我们该怎么做。 页面18/51: 数据stream的最佳实践 找出需要传达的信息 为您的视图控制器定义input参数 为了进行通信备份,请使用松耦合 为观察者定义一个通用接口(如委派) 这张幻灯片之后是一个看起来像一个占位符的幻灯片,然后讲师用UIImagePickerController的例子显然演示了最佳实践。 我希望video可用! 🙁 好的,所以…恐怕我的东西不太强。 上述报价中的最后一行我也有点困惑。 我在这方面一直在做相关的search,我发现看起来像是一篇体面的文章,谈论观察/通知技术的各种方法: http://cocoawithlove.com/2008/06/five-approaches-to-listening-observing.html 方法#5甚至指示代表作为一种方法! 除了….对象一次只能设置一个委托。 所以当我有多个viewcontroller通信,我该怎么办? 好的,那就是组build团伙。 我知道我可以在appdelegate中通过引用多个viewcontroller实例轻松地在应用程序委托中完成我的通信方法,但是我想以正确的方式执行这种事情。 请回答以下问题,帮助我“做正确的事情”: 当我尝试在UINavigationController堆栈上推送一个新的viewcontroller时, 谁应该这样做。 我的代码中哪个类/文件是正确的地方? 当我在一个不同的 UIViewController中想要在我的一个UIViewController中影响一些数据(一个iVar的值)时,什么是“正确”的方法呢? 假设我们只能在一个对象中一次设置一个委托,当讲师说“为观察者定义一个通用接口(如委派)”时,实现将会是什么样子? 如果可能的话,一个伪代码示例将非常有用。

我们如何以编程方式检测哪个iOS版本的设备正在运行?

我想检查用户是否在iOS 5.0以下运行应用程序,并在应用程序中显示标签。 如何以编程方式检测哪些iOS正在用户设备上运行? 谢谢!

Objective-C / Cocoa Touch中的HTML字符解码

首先,我发现这个: Objective C HTML escape / unescape ,但它不适用于我。 我的编码字符(来自RSS源,顺便说一句)看起来像这样: & 我搜索了整个网络,发现相关的讨论,但没有解决我的特定编码,我认为他们被称为十六进制字符。

是否有书面的方式来设置iPhone的方向?

我有一个应用程序,我想支持设备旋转在某些意见,但其他没有特别有意义的风景模式,所以当我交换意见,我想强制旋转设置为肖像。 在UIDevice上有一个未公开的属性设置器,但是很明显会产生一个编译器警告,并且可能随着将来版本的SDK的消失而消失。 [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 有没有任何文件化的方法来强制这个方向? 更新:我想我会提供一个例子,因为我没有找到shouldAutorotateToInterfaceOrientation,因为我已经实现了。 我希望我的应用程序支持在视图1中的横向和纵向,但在视图2中只有纵向。我已经为所有视图实现了shouldAutorotateToInterfaceOrientation,但是如果用户在视图1中处于横向模式,然后切换到视图2,我想强制电话旋转回肖像。

新的自动引用计数机制如何工作?

有人可以简单地向我解释ARC是如何工作的吗? 我知道这是垃圾收集不同,但我只是想知道它是如何工作的。 另外,如果ARC在不妨碍性能的情况下执行GC的操作,那么Java为什么使用GC? 为什么不使用ARC呢?

在iOS中获取最新的设备语言?

我想显示设备用户界面正在使用的当前语言。 我将使用什么代码? 我想把它作为一个完全拼出格式的NSString 。 (不是@“en_US”) 编辑:对于那些开车的人来说,这里有很多有用的评论,因为答案已经随着新的iOS版本发展。

从iPhone上的NSString中删除HTML标记

有几种不同的方法可以从Cocoa的NSString中删除HTML tags 。 一种方法是将字符串呈现为NSAttributedString ,然后获取呈现的文本。 另一种方法是使用NSXMLDocument's objectByApplyingXSLTString方法来应用XSLT转换。 不幸的是,iPhone不支持NSAttributedString或NSXMLDocument 。 有太多的边缘情况和格式不正确的HTML文档让我感觉舒服的使用正则表达式或NSScanner 。 有没有人有这个解决方案? 一个建议是简单地寻找打开和关闭标记字符,除了非常微不足道的情况外,这种方法将不起作用。 例如,这些案例(来自Perl Cookbook的关于同一主题的章节)将打破这种方法: <IMG SRC = "foo.gif" ALT = "A > B"> <!– <A comment> –> <script>if (a<b && a>c)</script> <![INCLUDE CDATA [ >>>>>>>>>>>> ]]>