草庐IT

about_nil

全部标签

ios - 为什么 myInstance = nil 而不是 self.myInstance = nil?

我为什么要使用(在我的dealloc方法中)?[myInstancerelease]而不是[self.myInstancerelease]myInstance=nil而不是self.myInstance=nil尽管我们使用self.myInstance=[[[AClassalloc]init]autorelease]而不是myInstance=[[[AClassalloc]init]autorelease]?这些做法来self在网络上看到的众多示例。 最佳答案 1)[myInstancerelease]insteadof[self.

ios - 为什么要设置为 nil 并释放 UIViewController 的属性?

有些东西我在Apple文档中没有得到。这是UIViewController类的-(void)viewDidUnload的摘录:yourdeallocmethodshouldreleaseeachobjectbutshouldalsosetthereferencetothatobjecttonilbeforecallingsuper.如果您在代码中对xxx属性使用保留和合成,为什么大多数Apple示例都在viewDidUnload中设置为nil:self.xxx=nil;但建议在dealloc中执行set-to-nil和release:[xxxrelease];self.xxx=nil;

iphone - iOS 开发 : What are some reasons that [[self navigationController] viewControllers]; would return nil?

下面的语句返回一个nil...NSArray*viewControllersInNavStack=[[selfnavigationController]viewControllers];并且在导航堆栈中大约四层深的ViewController中调用此语句,所以我不明白它如何或为什么会返回nil。你的想法?非常感谢您的智慧! 最佳答案 听起来不像是你的问题,但文档说“如果ViewController在其堆栈中,则只返回导航Controller。如果找不到导航Controller,则此属性为nil”。首先检查[selfnavigatio

ios - 将核心数据对象设置为 nil

我对此不确定,但确实将核心数据对象设置为nil,并将其从核心数据中删除。例如:MyObject*obj=[MyObjectfetchFromCoreDataWithID:objectID];obj=nil;这是否会从CoreData中删除该对象? 最佳答案 没有。该对象只是您的CoreData存储中内容的表示。如果你想删除对象,你必须这样做:NSError*saveError=nil;[_managedObjectContextdeleteObject:obj];[_managedObjectContextsave:&saveErr

objective-c - 解析后 NSNetService 的 TXTRecordData nil

所以,这是我的问题:我的iOS应用程序正在通过本地网络发布一个NSNetService,服务发现工作正常。我也知道在我能够读取它的TXTRecordData之前我需要解析我的服务。在服务的-didPublish委托(delegate)方法中,我确保我的TXTRecordData设置了NSDictionary。到目前为止,还不错...-(void)netServiceBrowser:(NSNetServiceBrowser*)aNetServiceBrowserdidFindService:(NSNetService*)aNetServicemoreComing:(BOOL)moreCo

ios - dequeueReusableCellWithIdentifier 总是返回 nil

我有一个包含6个单元格和几个部分的静态表格。当我初始化一个单元格时,它总是返回nil,尽管我在传递的...中使用了完全相同的方法......-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{if(indexPath.section==SAVE_SECTION){ATSaveCell*cell=[tableViewdequeueReusableCellWithIdentifier:@"SaveCell"];if(cell==nil){NSLog

ios - 在 Core Data 轻量级迁移到添加了新属性的版本之后,该属性为 nil

我正在尝试在我的应用程序的核心数据中设置一些测试轻量级迁移,但我遇到了一些奇怪的问题。在我的应用程序的第2版和第3版模型之间,我刚刚添加了一个新的integer32属性。该属性的默认值设置为0(每当您创建新属性时Xcode创建的默认值。我已经尝试将新属性设置为可选或不设置来测试这个问题,它没有任何区别。我使用Xcode自动生成我的NSManagedObject子类,其中包含我添加的新属性。我正在使用UIManagedDocument加载我的核心数据文件并将其设置为执行自动迁移NSDictionary*docOptions=@{NSMigratePersistentStoresAutom

ios - 来自 NSBundle 路径的 NSURL 返回 nil

所以我尝试使用视频作为背景,我的应用程序中有一个.mov文件,当我运行此代码时:NSBundle*bundle=[NSBundlemainBundle];NSString*urlString=[bundlepathForResource:@"movie"ofType:@"mov"];NSURL*movieURL=[NSURLURLWithString:urlString];if(!movieURL){NSLog(@"Notvalid");}我在控制台中得到Notvalid。我检查了urlString,它给了我一个url,我确定该文件命名正确并且不在目录中。所以文件在那里并被复制到源中。

ios - init中返回nil会不会导致内存泄露?

当[superinit]已经被调用,但随后返回nil时,init中ARC下返回nil是否会导致内存泄漏?这是合法的用法吗?-(id)init{self=[superinit];if(self){...returnnil;...}returnself;} 最佳答案 首先:对于提到ARC的问题,从来没有阅读过Apple的文档,而是clang的。Apple的文档简单地隐藏(隐藏?)-init的执行,并有这样的错误示例:idref=[[Classalloc]init]你会发现那里有类似“+alloctransfersownership”的语

ios - 在 TableView Controller 中显示 nil 的原型(prototype)单元格标签

我正在使用Storyboard来创建表格View并使用原型(prototype)单元格。原型(prototype)单元格包含一个文本标签表格ViewController:-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*cellIdentifier=@"Cell";Cell*cell=[tableViewdequeueReusableCellWithIdentifier:cellIdentifier];NSLog