Tag: ios5

释放由GLKTextureLoader分配的纹理(GLKTextureInfo对象)

在iOS上开发新手,特别是iOS 5上新的OpenGL相关function,所以我很抱歉如果我的任何问题是如此基本。 我正在devise的应用程序旨在接收相框,并通过OpenGL ES在屏幕上显示它们(graphics人员将接pipe这个并添加我知道很less的实际OpenGLgraphics)。 该应用程序是开发XCode4,目标是运行iOS 5的iPhone4。目前,我使用ARC和GLKitfunction,除了内存泄漏加载图像作为纹理时,所有工作正常。 该应用程序很快就会收到“内存警告”。 具体来说,我想问一下如何释放分配的纹理 @property(retain) GLKTextureInfo *texture; -(void)setTextureCGImage:(CGImageRef)image { NSError *error; self.texture = [GLKTextureLoader textureWithCGImage:image options:nil error:&error]; if (error) { NSLog(@"Error loading texture from image: %@",error); } } 该image是从相机框架构build的石英图像(来自苹果的示例代码)。 我知道问题不在代码的这一部分,因为如果我禁用分配,应用程序不会收到警告。

iOS – 我如何创build一个所有控制器可以调用的“实用程序”类

我是iOS和obective-c的新手,所以我不太清楚如何最好地完成这个看似简单的任务。 我想要的是在伪代码中创build一个如下所示的类: class UtilityClass { // Have a method that I can pass parameters to String doCalculation ( String art1 , String arg2 ) { return arg1 + arg2; } } 我的不确定性是: 1)xCode似乎倾向于以相对平坦的方式布局我的文件结构。 那么我应该做一个utils目录,并将这个文件放在utils / fileName下? 通常我习惯于至less有一些src目录,但到目前为止我还没有任何提示创build一个。 2)如何从我的控制器导入和调用这个类/函数? 谢谢,Alex

UILocalNotification应该在每个工作日重复一次,但是周末也会触发

我有一个UILocalNotification,应该从星期一到星期五每天一次,但不是在周末。 我认为将通知的repeatInterval属性设置为NSWeekdayCalendarUnit将完成此操作。 可悲的是,我的通知仍然在周末开火。 谁能build议为什么? 这是我的代码: UILocalNotification *localNotification = [[UILocalNotification alloc] init]; localNotification.alertAction = @"View"; localNotification.alertBody = NSLocalizedString(@"ALERT_MESSAGE", nil); localNotification.soundName = UILocalNotificationDefaultSoundName; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MM-dd-yyyy HH:mm"]; [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/Toronto"]]; // Notification fire times are set by creating a notification whose fire date // is an arbitrary weekday at the correct time, […]

重写initWithCoder时无限循环

我有一个UIViewController与一些控制器和一些意见。 其中两个视图(Grid Cell)是其他的视图。 我已经从网格单元的文件的所有者,但他们没有自动加载。 所以我尝试覆盖GridCell.m的initWithCoder 。 这开始了一个无限循环。 我知道这是可能的只是重写initWithFrame并添加子视图的代码,但这不是我想要的。 我希望能够在界面生成器中移动视图,并让Xcode使用正确的框架初始化视图。 我如何去实现这个? 编辑1 我试图让它在亚历山大的帮助下工作。 这是我现在已经设置的:MainView具有一个Custom类设置为GridCell的UIView。 它在MainView / File的所有者中有一个sockets。 从GridCell.m中删除了所有的init代码,并为我的自定义类设置了一个sockets 虽然MainView仍然不显示GridCell。 没有错误,只有红色开关应该是孤独的,空的空间。 我究竟做错了什么? 我非常接近以编程方式做这个。 我很乐意学习如何与笔尖虽然。

从另一个ViewController演示故事板ViewController

我的iOS应用程序的Storyboard中有多个UIViewController。 我想从一个不同的UIViewController中打开一个UIViewControllers(在storyboard中)。 我试过下面的代码,但它不工作,即使我在iOS 5之前使用它,它工作正常。 – (IBAction)addNotes:(id)sender { NotesViewController *notesView = [[NotesViewController alloc] initWithNibName:@"NotesViewController" bundle:nil]; [self presentModalViewController:notesView animated:YES]; } 如何使用iOS 5 Storyboard执行此操作?

将UITableView的高度调整到与仅适合总内容大小一样高的程度

所以我有一个非常基本的问题。 我有一个view这个UITableView ,我想这个表的高度,因为它需要是显示表中的所有行。 所以,我不想滚动,我只想要所有的行出现。 (行在数量和height是dynamic的)。 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { CGSize cellSize = [[[_stepsArray objectAtIndex:indexPath.row]content] sizeWithFont:[UIFont boldSystemFontOfSize:18.0f] constrainedToSize:CGSizeMake(528.0f, CGFLOAT_MAX)lineBreakMode:NSLineBreakByWordWrapping]; return cellSize.height; } 如果有20行,表格将会非常高,但是如果只有1行,则会非常小,而其他内容将不会出现在下面19行。

故事板 – UITabBarController

我今天玩了iOS 5和故事板。 我现在已经有了,所以主要的故事板以uitabbarcontroller,navigationviewcontroler和uiviewcontroller开头。 所有的工作正常。 我正在寻找的是如何dynamic设置应用程序启动时uitabbarcontroller显示的viewconotroller。 所以我想使用CoreData来查看表是否为空,它是select第二个视图控制器(tabbar项目2),如果不select第一个视图控制器(tabbar项目1)。 由于故事板正在处理正在显示的内容,所以我不确定应用程序代表如何设置? 希望有人能在这里指出我正确的方向! 谢谢!

OAuth身份validationIphone

我正在做一个iPhone应用程序,需要OAuth 2.0协议来实现用户login到一个特定的网站。 我有我的应用程序在网站上注册后得到的客户端ID和客户端的秘密。 我想知道一些这方面的事情。 我看到了一些这方面的链接。 但是在我的脑海中,我不太清楚我是否需​​要使用OAuth类或OAuth使用者类。 是否可以在OAuth中对用户进行身份validation,而无需在查询string中发送用户的电子邮件ID和密码? 有可能在uiwebview中加载网站并login到网站,并获得用户凭据进一步的屏幕function。 这是我正在开发的第一种这样的应用程序。 如果有人能帮助我,那么我就能清楚地知道我应该怎样去做。 编辑:如果有任何使用OAuth实现login到网站的好教程,请分享。 提前致谢

CoreData与多个商店:configuration的困境

我有一个大型的,预加载的数据库和一个小型用户数据库(CoreData SQLite商店)的iOS项目。 先前的问题已经build议使用configuration来控制哪个实体与哪个商店一起使用。 我无法正常工作。 这是我一直在尝试… – (NSManagedObjectModel *)managedObjectModel { if (_managedObjectModel != nil) return _managedObjectModel; // set up the model for the preloaded data NSURL *itemURL = [[NSBundle mainBundle] URLForResource:@"FlagDB" withExtension:@"momd"]; NSManagedObjectModel *itemModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:itemURL]; // set up the model for the user data NSURL *userDataURL = [[NSBundle mainBundle] URLForResource:@"UserData" withExtension:@"momd"]; NSManagedObjectModel *userDataModel […]

ARC,通过被捕获的自我在块和参考周期中的ivars

我正在纯iOS5 / ARC环境中工作,所以我可以根据需要使用__weak引用。 在许多情况下,我都会在一个块中引用ivars,其中最引人注目的就是animation块,它们可以移动视图,这是我的视图控制器类的属性。 我的问题: 在一个块中最简单的使用ivars,我创build一个参考周期? 每次我写一个块来处理包含对象的实例variables时,是否需要使用__weak self / strong self技巧? 我一直在重新审视2011年WWDC会议#322(Objective-C的深度进展),以了解关于“通过被捕获的自我的参考周期”在时间索引25:03开始的3分钟片段的细微差别。 对我而言,这意味着任何一个块中的ivars的使用都应该被该段中描述的弱自我/强自我设置所保护。 在视图控制器上的下面的示例方法,是我做的animation的典型。 在openIris块中,像我一样引用ivars“_topView”和“_bottomView”是错误的吗? 我应该总是在块之前设置一个__weak引用,然后在块内部强引用刚刚设置的弱引用,然后通过块内的强引用访问ivars? 从WWDC会话中,我明白,在一个块中引用ivars实际上是创build了一个引用这些ivars隐含的隐含的自我。 对我来说,这意味着在没有弱/强舞的情况下访问ivars是正确的,确实没有任何简单或微不足道的情况来确保没有循环。 还是我读到了一个不适用于简单情况的angular落案例,比如我的例子? – (void)openIrisAnimated:(BOOL)animated { if (_isIrisOpened) { NSLog(@"Asked to open an already open iris."); return; // Bail } // Put the common work into a block. // Note: “_topView” and “_bottomView” are the backing ivars of // […]