我有一些自定义创建的UIViews,它们使用.xib文件进行布局,并使用支持类进行额外设置.我使用alloc/init创建这些类,并在我的自定义init方法中调用loadNibNamed,但这样做会导致内存泄漏.有人指出alloc部分实际上创建了一个泄漏的自我对象,所以我调整了我的init方法:
- (id)init
{
[self autorelease];
self = [[[[NSBundle mainBundle] loadNibNamed:@"AssignmentView" owner:nil options:nil] lastObject] retain];
[self setupBranding];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
[self addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
return self;
}
Run Code Online (Sandbox Code Playgroud)
但是,现在当我运行分析代码时,我得到这个警告"返回'自我',而它没有设置为'[(超级或自我)初始化...]"的结果.所以我的问题是使用支持类进行自定义UIViews的正确方法是什么?
既然有人问我上面的代码是这样的:
AssignmentView * assignmentView = [[AssignmentView alloc] init];
[self.view addSubview:assignmentView];
Run Code Online (Sandbox Code Playgroud) 我想找回有关缺少@synthesize命令的Xcode 4.3警告.我有一个尚未升级到Xcode 4.4的CI环境,并且在我的Xcode 4.4中没有警告我发现自己忘记一直这样做,然后在我的Xcode 4.3 CI环境构建的IPA获得后必须返回并纠正它测试.
请告诉我有一种方法可以重新开启.
所以我升级到 Xcode 7.3.1,现在我的 Xcode 将构建,并将我的应用程序(是的每个应用程序,甚至一个全新的空白应用程序)部署到模拟器,但该应用程序从未在模拟器上启动,调试器也从未附加,Xcode 只是挂起,必须强制退出。我已经完全清除了 Xcode 和所有模拟器并重新安装了无济于事。我已经搜索了 Stack Overflow 和 Google,尝试了每一条建议,但仍然没有运气。任何地方的任何人都知道如何解决这个问题?如果我降级到 7.2.1,我可以在模拟器中调试就好了。
如果您需要更多信息,请与我们联系。
我的应用程序在模拟器上运行得很好,如果我尝试将调试器附加到正在运行的应用程序,它不会并且 Xcode 在尝试中挂起,当尝试以这种方式附加时,至少 Xcode 不必强制退出。
仅供参考,我可以在设备上调试这只是一个模拟器问题。
我知道这可能是一个远景,但是我看到这种崩溃很自然(无法重现)。而且我不知道为什么会这样。我相信我所看到的是我的UIWebView试图称其为资源负载的委托,但发现委托已被释放。但是,我的应用程序不会取消UIWebView的分配,只是出于各种原因而将其作为后台,而WebViewDelegate并未实现该webView:identifierForInitialRequest:fromDataSource:方法。我已经将下面的崩溃减少了很长时间,直到我认为这是令人讨厌的话题,如果有人能指出我正确的方向,我将不胜感激。
Thread 0 Crashed:
0 libobjc.A.dylib 0x00000001926abbd0 objc_msgSend + 16
1 UIKit 0x0000000186a10b78 -[UIWebView webView:identifierForInitialRequest:fromDataSource:] + 88
2 CoreFoundation 0x0000000182067dec __invoking___ + 140
3 CoreFoundation 0x0000000181f66658 -[NSInvocation invoke] + 292
4 CoreFoundation 0x0000000181f6b1ec -[NSInvocation invokeWithTarget:] + 64
5 WebKitLegacy 0x00000001907e5750 -[_WebSafeForwarder forwardInvocation:] + 168
6 CoreFoundation 0x0000000182065c5c ___forwarding___ + 436
7 CoreFoundation 0x0000000181f6b088 _CF_forwarding_prep_0 + 88
8 CoreFoundation 0x0000000182067dec __invoking___ + 140
9 CoreFoundation 0x0000000181f66658 -[NSInvocation invoke] + 292
10 WebCore 0x000000018f99a8f0 _ZL20HandleDelegateSourcePv + 116
11 CoreFoundation 0x000000018201a320 …Run Code Online (Sandbox Code Playgroud)