Tag: iphone

如何将文件Blob转换为NSData?

我在将Web Blob从Web服务转换为NSData对象时遇到问题。 文件Blob可以是任何类型的文件。 我可以通过RestKit从Web服务器请求文件并获得以下响应: [{ “FileBlob”: [ 65, 108, 108, 111, 99, 46, 32, 83, /* more integer values omitted */ ], “FileID”: 1234567890, “FileName”: “name.txt” }] 我通过JSONKit将响应转换为字典NSDictionary *dict = [[response bodyAsString] objectFromJSONString]; 哪个工作正常。 但我无法弄清楚如何将FileBlob转换为NSData对象,以便我可以将其作为文件写入HDD。 如果像上面的例子中的txt-File,我可以通过数组并将所有整数值转换为字符 NSMutableString *fileString = [NSMutableString string]; for (NSNumber *value in [[dict valueForKey:@”FileBlob”] objectAtIndex:0]) { [fileString appendFormat:@”%c”, (char)value.integerValue]; } 然后将所有内容保存到磁盘 NSData […]

从iPhone和Cocos2d中的类类型(+)方法访问对象?

我有一个类方法,我在其中创建并返回类对象。 但我想在同一个类中访问该对象的某些属性。 作为一个类方法,我不能在.h文件中声明变量,然后在其他方法中访问它。 以下是代码如何在下面的实例方法中访问backsprite或hudlayer对象的值? // class 1 +(id)HUDWithBackgroundSprite:(NSString *)spriteName withRect:(CGRect)rect atPoistion:(HUDPosition)pos { HUDlayer *hud = [[HUDlayer alloc] init]; CCSprite *backSprite = [CCSprite spriteWithFile:spriteName]; [backSprite setContentSize:CGSizeMake(rect.size.width,rect.size.height)]; [backSprite setPosition:ccp(rect.origin.x,rect.origin.y)]; [backSprite setTag:100]; [hud addChild:backSprite]; [hud setTag:2]; return [hud autorelease]; } // access it here -(void)AddButtonToHUDWithImage:(NSString *)imageName selector:(SEL)selector withDisabledImage:(NSString *)disbdImageName { HUDlayer *hud = (HUDlayer *)[self getChildByTag:2]; CCMenuItem *menuItem1 […]

新的ViewControllers导致黑屏

我正在通过界面构建​​器添加新的视图控制器(场景)。 我将它们放在canvas上,然后创建一个新的视图控制器子类( NewViewController ,这将创建两个fiels: NewViewController.h和NewViewController.m )。 然后,我将身份检查器下的“类”设置为新添加的视图控制器( NewViewController )。 现在,当我运行应用程序时,初始场景有一个带有segue到第二个场景的按钮(其中NewViewController是“类”)并且它没有加载新的场景/视图,它只是黑色。 我错过了一步吗? 如果我删除类: NewViewController ,并将其放回初始视图控制器( ViewController ),它就会显示页面。 我正在按照本指南

在表格视图的底部添加一个按钮

有没有更好的方法在表格视图的底部添加按钮,如下所示? 我发现的解决方案涉及在现有部分的页眉或页脚中插入一个按钮,对我来说似乎有点不好看。

我可以从UIResponderStandardEditActions调用select方法吗?

我目前正在使用UITextView为iPad开发一个简单的文本编辑应用程序。 我想选择UITextView文本的部分内容并使用默认的蓝色选择栏突出显示它。 例如,我编写了这段代码来选择整个文档。 [myTextView select: self] myTextView.selectedRange = NSMakeRage(0, [textView.text length]) 但“select”方法是从UIResponderStandardEditActions协议中描述的Apple文档中的非正式协议。 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIResponderStandardEditActions_Protocol/UIResponderStandardEditActions.html 我想知道直接调用这种方法是否合法,因为大多数基于AppStore中UITextView的文本编辑应用程序都没有选择UITextView部分的function。 因此,从UIResponderStandardEditActions调用方法似乎是非法的。 谢谢!

UIScrollView无法正确更新和显示

我在UIscrollView遇到问题,这就是我所做的:每当用户通过Imagepicker在相机卷中选择图像(多个或单个)时,我想在我的UIScrollView中显示它。 我能够显示它,但是当我再次访问Imagepicker再选择一个图像时,它不会更新UIScrollView ,我尝试将我的[self createScrollView]放在我的viewDidAppear但它重新创建了UIScrollView但没有更新它,所以旧图像和新图像组合在一起。 所以我把它们放在viewDidLoad但它只在我转到另一个View Controller然后再返回时更新。 //带有缩略图的我的UIScrollView – (void) createScrollView { self.slotBg = [[UIView alloc] initWithFrame:CGRectMake(43, 370, 300, 143)]; CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = self.slotBg.bounds; gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor grayColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil]; [self.slotBg.layer insertSublayer:gradient atIndex:0]; [self.view addSubview:self.slotBg]; self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f,0.0f,300.0f,134.0f)]; [slotBg addSubview:self.scrollView]; int row = 0; int column […]

Facebook SDK 3.5无法登录,崩溃应用程序

我正在使用HelloFacebookSample中的代码,由于某种原因,FBLoginView会在点击时崩溃我的应用程序。 我已经逐字复制了大部分代码,所以我无法理解为什么它会崩溃。 有没有人有Facebook SDK的经验,可以帮助我? 如果需要,我会发布代码。 问候, 麦克风 更新:这是我的错误的屏幕截图。

NSURLConnection内在的内存泄漏?

在Xcode文档的示例中:URL加载系统编程指南:使用NSURLConnection ,它们theConnection NSURLConnection ( theConnection ),然后在回调中释放它: -connection:didFailWithError: & -connectionDidFinishLoading: -connection:didFailWithError: -connectionDidFinishLoading: . 但是,如果在调用任何一个回调方法之前释放委托,那么连接是否会泄漏(即永远不会释放)?

即使我没有动画,我的表示层也不匹配我的模型层

在iPhone上我有一个CALayer ,我通过Core Animation制作动画。 然后在某些时候我改变视图控制器。 然后我使用CALayer返回到视图控制器并在viewWillAppear:我在我的图层上设置框架和位置属性,将其移回到起点。 设置这些属性会更改模型图层,但表示层仍具有旧值,并且在我播放下一个动画之前,其表示层不会更新。 在CA编程指南中,它说: “在动画事务处理过程中,您可以查询CALayer实例的相应表示层。” 对我来说,这意味着表示层应该只在动画期间与模型层不同。 但是目前还没有动画。 我甚至使用kCATransactionDisableActions来确保当我设置position属性时,不会启动隐式动画。 有谁知道为什么我的演示文稿和模型层不同步? 谢谢。

重新加载表格的数据

我有5个视图控制器,它们位于导航控制器层次结构中。 当我到达我的上一个视图控制器时,有一个按钮可以让我回到“Home”视图控制器(名为CardWalletViewController),它是一个表视图控制器。 这是我上一次VC中的方法( PointsResultsVC ) – (IBAction)homePressed:(id)sender { NSArray *VCs = [self.navigationController viewControllers]; [self.navigationController popToViewController:[VCs objectAtIndex:0] animated:YES]; } CardWalletVC的单元格正在填充来自NSUserDefaults中保存的卡实例的值,它可以正常工作。 现在,我想要的是更新我的CardWalletViewController的值,这是来自我的PointsResultsVC的卡片的点。 请注意,此点保存在NSUserDefault 。 在尝试更新我的CardWalletVC中显示的值的过程中,我放置了[self.tableView reloadData]; 在-viewDidLoad , -viewWillAppear和 – 上述类的 – viewDidAppear中。 我尝试在每种方法中逐一放置它,但它似乎不起作用。 建议请。 编辑:问题解决了 这个作为我的指南从一个选项卡保存数据,并在另一个选项卡中重新加载数据 。 正如我所发现的-viewDidLoad ,某个类的-viewDidLoad只会被调用一次,所有这些都会在app的运行时间内完成。 而-viewWillAppear ,每次出现视图时都会调用它。 所以,我只是改变了我将NSUserDefaults中保存的值从-viewDidLoad到-viewWillAppear 。 另外,在-viewWillAppear我放置了[self.tableView reloadData] 。 然后,问题解决了。