草庐IT

self-register

全部标签

objective-c - UIViewController: [super init] 调用 [self initWithNibName bundle:]

我的UIViewController子类中有两个初始化函数:-(id)init{self=[superinit];if(self){//Customstuffreturnself;}returnnil;}和-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil{self=[superinitWithNibName:nibNameOrNilbundle:nibBundleOrNil];if(self){//Customstuff}returnself;}我将init函数放入以避免调用init

ios - 在调用另一个引用 self 的方法的 block 内调用一个方法会导致保留周期吗?

doFirst能否在此处导致保留循环?@interfaceExample:NSObject@property(nonatomic,strong)void(^block)();@end@implementationExample-(void)doFirst{__weakidweakSelf=self;self.block=^{[weakSelfdoSecond];};self.block();}-(void)doSecond{self.value=//...//dootherstuffinvolvingself}@end 最佳答案 与

ios - Xcode 6.3/iOS 8.3 中的新功能 : using self alloc for convenience constructor causes build error

此代码在Xcode6.2和6.3之间没有变化,但包含[selfalloc]的行现在导致错误:发现多个名为“initWithType:”的方法具有不匹配的结果、参数类型或属性@implementationAGNetworkDataRequest+(instancetype)networkDataRequestWithType:(AGNetworkDataRequestType)type{AGNetworkDataRequest*r=[[selfalloc]initWithType:type];//errorherereturnr;}-(id)initWithType:(AGNetwork

ios - [self.tableview reloadData];导致闪烁

问题是UI出现然后更新:产生闪烁效果。我希望UI仅在用户进入应用程序时更新一次,因此我在ViewDidLoad中重新加载了..这是代码..任何帮助如何消除这种闪烁......一些代码示例会有所帮助。-(void)viewDidLoad{[superviewDidLoad];self.myTableView.dataSource=self;self.myTableView.delegate=self;PFQuery*getCollectionInfo=[PFQueryqueryWithClassName:@"Collection"];//makequery[getCollectionIn

ios - 一劳永逸地解决 initWithFrame :self. view.frame 20 像素(状态栏)问题

我有一个简单的UINavigationController。在init方法中,我创建并添加了一个UITableView作为subview。-(id)init{self=[superinit];if(self){NSLog(@"%@",NSStringFromCGRect(self.view.frame));//{{0,20},{320,460}}tableView=[[UITableViewalloc]initWithFrame:self.view.frame];[self.viewaddSubview:tableView];}returnself;}我发现我在处理新项目时总是遇到同样

iphone - Xcode 4.2 "cell reuse indentifier in nib (Cell) does not match the identifier used to register the nib (ThisCell)"

我正在尝试使用Xcode4.2的新StoryBoard功能,但在使用带有自定义单元格的TableView时不断出现此错误。nib(Cell)中的单元重用标识符与用于注册nib(ThisCell)的标识符不匹配我已将我的自定义单元格的类设置为我的自定义UITableViewCell类,并在IB中将标识符设置为“ThisCell”。-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*CellIdentifier=@"T

ios - self.view setFrame 不适用于 iOS 8 和导航 Controller

有没有人注意到self.viewsetFrame在iOS8中停止与NavController一起工作。如果ViewController没有navController,它工作得很好,否则,它没有。有谁知道解决方法?目前我正在使用[self.viewsetFrame:CGRectMake(0,-100,[[UIScreenmainScreen]bounds].size.width,[[UIScreenmainScreen]bounds].size.height)];但这不再有效了 最佳答案 尝试在设置框架之前将“setTranslate

ios - 如何从 C 方法调用 Objective-C "self"

这个问题在这里已经有了答案:PassinstancemethodasfunctionpointertoCLibrary(1个回答)HowdoIgiveCfunctionapointerto'self'(callingobj)inobjective-c?(2个答案)关闭9年前。我的iOS项目中有Objective-C类,它实现了Objective-C和C代码同一个类(class)。我将扩展名更改为.mm并且这部分进展顺利。现在我想设置一个C方法来调用同一个类中的Objective-C方法。我遇到的问题是当我试图从C方法调用self时。这是代码:voidSetNotificationLis

ios - 清除核心数据 : reset vs deleting registered objects? 中的上下文

我一直在寻找与此相关的帖子,但我不完全理解...有什么区别:[contextreset];和:for(NSManagedObjectID*objIdinobjectIds){[contextdeleteObject:[contextobjectWithID:objId]];}或者它们是等价的吗?谢谢 最佳答案 使用reset将托管对象上下文恢复到您第一次创建它时的状态——在您执行任何提取、创建任何新对象等之前。如果您有任何托管从此上下文中获取的内存中的对象,它们现在不可用。使用reset不会影响持久存储文件。所有实例之后仍然存在,它

ios - [self.navigationController popToViewController :VC2 animated:NO]; crash

您好,我正在开发一个我应该去的应用程序:从UIViewController1到UIViewController2从UIViewController2到UIViewController3从UIViewController3到UIViewController4从UIViewController4回到UIViewController2我正在使用UINavigationController。当我使用[self.navigationControllerpushViewController:VC2animated:NO];和[self.navigationControllerpopViewCont