我已经看到了以下代码片段:
在标题中:
SomeClass *bla;
@property(nonatomic,retain) SomeClass *bla;
Run Code Online (Sandbox Code Playgroud)
在实现文件中:
@synthesize bla;
Run Code Online (Sandbox Code Playgroud)
然后
self.bla = [[SomeClass alloc] init];
Run Code Online (Sandbox Code Playgroud)
我认为这项任务将'bla'的保留计数提高了两倍; 一旦通过alloc/init调用,然后通过我们要求通过合成属性设置器发生的保留.
因此,我通常会声明我的属性如下:
在标题中:
SomeClass *_bla; // note the underscore
@property(nonatomic,retain) SomeClass *bla;
Run Code Online (Sandbox Code Playgroud)
在实现文件中:
@synthesize bla = _bla;
Run Code Online (Sandbox Code Playgroud)
然后
_bla = [[SomeClass alloc] init];
Run Code Online (Sandbox Code Playgroud)
如果我最初的假设是正确的 - 我有兴趣听听是否有'正确'的方法来做到这一点,即属性的声明,初始化和内存管理?
我刚刚将XCode升级到4.3.2并尝试加载我正在处理的项目 - 过去我只是使用"打开"菜单然后指向PROJECT.xcodeproj文件(实际上是一个目录) - 然后导致XCode打开项目.但是,当我现在这样做时,我会收到一个警告框,指出无法打开"文档PROJECT.xcodeproj".
有没有其他人经历过这个?任何想法可能是错的或在哪里寻找线索?
我有一个UICollectionView
支持水平和垂直滚动.每个集合视图单元都是它的子类,UICollectionViewCell
它们是从包含UIButton
's,UITableView
甚至是另一个的NIB加载的UICollectionView
.他们都在里面TPKeyboardAvoidingScrollView
.
滚动在水平和垂直方向都可以完美地工作,但它不会在个人元素上接收触摸事件UICollectionViewCell
.当我触摸任何元素时,说一个按钮是其中的一部分UICollectionViewCell
,那么我得到的就是didSelectItemAtIndexPath
事件UICollectionViewDelegate
- 我无法将任何触摸事件传递到集合视图单元格的其中一个子视图上.
我有一个使用AdHoc分发的应用程序 - 在大多数设备上运行正常(使用testflightapp.com),但我有两个较旧的分别运行iOS 5.1.1和iOS 4.3,而那些我无法获得应用安装.
该应用程序是使用XCode 5.1.1和iOS 4.3的部署目标构建的.
安装大约75%通过(即主屏幕上的图标显示,进度指示器开始运行高达约75%),然后显示错误消息:"无法下载应用程序" - ...此时无法下载.
检查日志我发现/ usr/libexec/installd崩溃 - 见下文.
顺便说一句,当我尝试通过iTunes安装应用程序时也是如此,因此它与Testflight无关.
关于为什么会发生这种情况以及如何解决这个问题的任何提示都将受到高度赞赏.
帕特里克
Incident Identifier: 55B1E8CF-AF1B-4E2E-9445-9001A1E9181F
CrashReporter Key: 2c384f06f249d55ddbb948525a8bef5b10aef496
Hardware Model: iPad1,1
Process: installd [301]
Path: /usr/libexec/installd
Identifier: installd
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2014-08-15 19:45:40.965 +1000
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Crashed Thread: 2
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib …
Run Code Online (Sandbox Code Playgroud) 我们在其中一个应用中看到了一个意外的行为 - 一个屏幕我们在地图视图上显示注释,用户可以通过单击按钮更改显示的注释.
当我们使用iOS7重建应用程序时,屏幕会定期冻结,即一旦下面的代码被多次调用(使用不同的注释集),MKMapView上就不再有用户输入了 - 视图嵌入了标签栏和导航控制器及其所有UI元素仍然有效,但mapview本身不接受任何用户输入(捏/缩放).
显示注释的代码位于:
[self.mapView removeAnnotations:self.mapView.annotations];
for (MyObject *my in self.mydata)
{
MyAnnotation *annotation = [MyAnnotationFactory createAnnotationFor:my];
[self.mapView addAnnotation:annotation];
}
CLLocationCoordinate2D mycenter;
mycenter.latitude = -38.967659;
mycenter.longitude = 172.873534;
[self.mapView setRegion:MKCoordinateRegionMake(mycenter, MKCoordinateSpanMake(15, 18))
animated:YES];
[self.mapView setCenterCoordinate:mycenter];
Run Code Online (Sandbox Code Playgroud)
我发现通过设置区域而不设置动画,即通过将上面的代码更改为
__CODE__
仅__CODE__
在B中的except块中,然后python2.7给出完整的回溯.我的猜测是,当为python2.7反向移植这个模块时,异常传播的差异被忽略了.
我已经创建了一个非常基本的Rails 3.1应用程序,部署到运行Ruby 1.8.7(P334)的盒子(我不能轻易地转到1.9.2.不幸的是).
在部署并运行'bundle install'之后,我尝试运行一个控制台:
bundle exec rails console
Run Code Online (Sandbox Code Playgroud)
我得到:
无法在任何来源中找到rack-cache-1.0.3
并且控制台没有出现.
似乎这个特定版本的rack-cache被ActionPack 3.1.0列为依赖项.
有人可以向我解释我需要做些什么来解决这个问题,即让捆绑商将这个版本的rack-cache附加到项目中?
另外我读到Bundler将项目特定的GEM存储在"其他地方",即不再存在于全局Ruby GEM路径中.该项目特定地点是否有默认位置?
哦,我还继续使用Rails 3.1获得大量"无效的gemspec"警告,即:
[/usr/local/lib/ruby/gems/1.8/specifications/rack-cache-1.0.3.gemspec]中的gemspec无效:规范中的日期格式无效:"2011-08-27 00:00:00.000000000Z"
拉出我的头发......
Prawn::Document.generate(@targetfile) do |pdf|
pdf.bounding_box ([80, 510] , :width => 400) do
pdf.text("hello")
end
end
Run Code Online (Sandbox Code Playgroud)
在之前的"逗号"中给出语法错误,意外的',',期待')' :width => 400
我用Ruby 1.9.3和2.1试过这个 - 都给出了同样的错误.我改变的唯一另一件事是我将虾版本从1.0升级到2.0 - 根据手册使用这样的大虾应该仍然可以.
objective-c ×2
ruby ×2
annotations ×1
bundler ×1
events ×1
gem ×1
ios ×1
ios5 ×1
ios7 ×1
ipad ×1
iphone ×1
mkmapview ×1
prawn ×1
properties ×1
rack-cache ×1
retain ×1
subview ×1
xcode ×1
xcode4.3 ×1