ios - 创建后一段时间在 UICollectionView 的 Header View 上调用方法
<p><p>我在 UICollectionView 的标题 View 中有一个 UIWebview。我想在创建标题 View 后调用 updateDataObject 将 url 传递给 UIWebview,一段时间后</p>
<p>TestViewController(开启了 UICollectionView)</p>
<pre><code>- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
....
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
UICollectionReusableView *reusableview = nil;
if (kind == UICollectionElementKindSectionHeader) {
AdViewHeaderView *headerView = ;
reusableview = headerView;
headerTmp = headerView;
headerView.sectionMyLikeLabel.text = @"My Likes Here";
}
return reusableview;
}
...
NSURLConnection *httpCollection ... (this is to fetch the url link passed to the UIWebview);
....
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// here I get the link and want to call the header's updateDataObject
}
</code></pre>
<p>标题 View 。</p>
<pre><code>#import <UIKit/UIKit.h>
@interface AdViewHeaderView : UICollectionReusableView
@property (strong, nonatomic) UILabel *sectionLabel;
@property (strong, nonatomic) UIWebView *promotionView;
-(void)updateDataObject:(NSString *)link;
@end
</code></pre>
<p>为了防止headerview的内存被回收。我尝试创建一个名为 </p> 的属性
<pre><code>@property (nonatomic, strong) AdViewHeaderView *headerImp;
</code></pre>
<p>在 TestViewController 中。然后稍后在connectionDidFinishLoading里面,我可以调用这个方法</p>
<pre><code>
</code></pre>
<p>但是,10 次中有 1 次 headerImp 已被回收并变为空。有什么想法吗?</p>
<p>问候
锤子</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>编辑问题后回复:</p>
<p>作为一个collectionView,每个部分可以有一个标题 View 。也许滚动会创建多个 headerViews 而不是一个(对于 indexPath.section == 0)。 </p></p>
<p style="font-size: 20px;">关于ios - 创建后一段时间在 UICollectionView 的 HeaderView 上调用方法,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/26138153/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/26138153/
</a>
</p>
页:
[1]