草庐IT

object-construction

全部标签

objective-c - 从主视图更改 subview 上的 UILabel 文本

好的,我是Objective-C/iOS编程的相对菜鸟,所以希望这里有更多知识的人可以帮助我。我有一个使用SplitViewController模板(带有核心数据)的iPad应用程序。我创建了另一个名为PlayerViewController的UIViewController(带有xib文件)。这个View有几个UILabel组件。我有一个显示在RootViewController(UITableView)中的播放器列表,当您选择一个播放器时,我以编程方式创建一个PlayerViewController(在DetailViewController中),将NSManagedObject传

objective-c - 'NSInvalidArgumentException',原因 : '-[__NSArrayI leftCapWidth]

我有三个继承自UITableViewController类的View。第一个显示位置列表,第二个显示带有注释的map,该注释表示在第一个View中选择的行的位置,最后一个显示有关位置的信息(地址,图像,...)。有时,当我按下后退按钮进入第二个View时,会收到此错误消息。Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'-[__NSArrayIleftCapWidth]:unrecognizedselectorsenttoinstance0x6b57110'***Callstackatfi

objective-c - 如何允许对象在回调时被释放?

我有一个用Objective-C编写的类,它通过连接到网络来完成一些工作。这个类以异步方式完成这项工作,用户给出一个委托(delegate),一旦操作完成就会调用它(如果成功则有响应,如果失败则有错误)。当没有更多工作要做并且可以释放对象时调用委托(delegate)。现在我想支持一个用例,当用户将在对该委托(delegate)的调用中释放我的类的对象时。这是很自然的,因为我的类的实例不可重用。目前,当我的调用从回调返回时,它试图从它离开的地方继续,却发现它已被释放。不用说,应用程序会在此时崩溃。我知道这是可以做到的,因为NSURLConnection类就是这样做的。在回调-(void

objective-c - 使用 NSOperation 出奇地慢

我正在处理一个问题。我使用这个View来查看我的应用程序中文档的缩略图。由于加载缩略图会减慢主线程的速度,我寻找解决方法并最终为缩略图创建任务执行了NSOperation。我正在显示一个带有空缩略图框的View和相应的事件指示器,以告诉用户“稍等,他们正在路上”。但这花了很长时间,所以我想放一些电梯音乐让等待更愉快x_X。我将此NSOperationQueue设置为最多10个并发操作。设置对加载部分有一点帮助,但只是一点点。加载一个拇指仍然需要大约6秒,而且奇怪的是加载10个拇指也需要同样的时间。下面的代码是操作本身@classThumbnailView;@protocolLoadTh

c++ - 在 iOS 项目中将 c++ 与 objective-c 集成

我的任务是将一些C++代码添加到iOS项目中。C++代码以几个库(.a)和扩展名为.hpp的头文件的形式出现我已将这些文件添加到XCodeiOS项目中,并在项目设置中添加了库路径和header搜索路径,但出现编译错误。例如,其中一个.hpp文件包含:`#include`我得到的错误是“字符串:没有这样的文件或目录”在同一个hpp文件中有一个命名空间声明:`namespaceFooBar`此行有一个错误是“在‘FooBar’之前需要‘=’、‘、’、‘;’、‘asm’或‘属性’”我是直接进入iOS编程的,所以我的经验主要是objective-c。任何人都可以在项目设置、搜索路径等方面提供任

objective-c - NSInvocation:无法识别的选择器,尽管已设置

我收到这条消息:“(null):无法识别的选择器发送到类0x3f52e824”我试过的基本代码:SELsel=@selector(applyProperties:toObject:);NSInvocation*inv=[NSInvocationinvocationWithMethodSignature:[selfmethodSignatureForSelector:sel]];[invsetTarget:self];[invsetSelector:sel];[invsetArgument:paramsatIndex:0];[invsetArgument:theObjectatIndex

objective-c - 获取当前正在播放的轨道名称

有没有办法获取iOS设备上iTunes中当前正在播放的轨道的名称?我在MPMusicPlayerController和AVAudioPlayer中都没有发现任何有用的东西。谢谢! 最佳答案 好吧,经过更多的搜索,我找到了隐藏在这个半相关问题中的答案:GetalbumartworkfromMP3file/ID3tagMPMusicPlayerController中存在两个属性,它们为我们提供了轨道名称和轨道艺术家。它们分别是MPMediaItemPropertyTitle和MPMediaItemPropertyArtist。

objective-c - 大循环时堆栈溢出 : how should I fix this?

考虑下图:我的应用程序首先找到所有蓝色像素,并记录它们所有sibling的x、y坐标(给定像素的sibling是与它相邻的像素:上、下、左、右、左上、上-对等)。然后循环遍历所有这些蓝色像素,以确定它们有多少蓝色sibling。最终目标是确定哪一组蓝色像素最大。不过,这是一个大循环,最终导致错误“警告:无法恢复先前选择的帧。”我相信这是因为我溢出了堆栈。如果是这样,您会建议我如何更改我的代码以解决此问题?代码如下:开始循环的方法:for(NSString*keyinpixelItemDict){Pixel*px=[pixelItemDictobjectForKey:key];if(!p

objective-c - 在 addSubview 之后更改 View ,什么是好的做法?

这听起来可能是个新手问题,但我是iOS开发人员的新手。假设有这段代码。UILabel*label=[[UILabelalloc]init];...[someScrollViewaddSubview:label];...label.text=@"SomeText";在addSubview之后修改View是好的做法吗?实际上我担心的可能是,标签有可能在到达label.text赋值之前被释放,例如在viewDidUnload中,对吗?并且分配将失败。总的来说我的问题是在addSubview之后修改View是个好习惯吗?在addSubview之后释放View是否是一种好习惯,如果我以后需要获取

objective-c - Objective-C : Adaptive Toolbar On Orientation Change

当我改变iPad的方向时,我的工具栏出现问题。我将我的nib文件设置为横向,一切正常,但是当我将它设置为纵向时,我的工具栏仍然具有横向的宽度。我如何使我的工具栏适应纵向更改的方向?景观:肖像:谢谢! 最佳答案 尝试将UIViewAutoresizingFlexibleWidth添加到工具栏autoresizingMask,如下所示:myToolbar.autoresizingMask|=UIViewAutoresizingFlexibleWidth或者,如果您在InterfaceBuilder中执行此操作,请确保选择了该水平条(也可