我的应用程序有两种状态:登录和未登录,我有以下架构(大大简化):
- ViewController A包含一个搜索框和一个表视图.
- ViewController B,用于登录应用程序.
流程如下:
- 用户未登录;
- A被推入堆栈.在viewWillAppear我检查,如果用户在如果是,一个异步网络请求正在取得,一旦做到这一点登录,该表加载来自网络的数据.但是,由于此时用户未登录,因此表视图为空;
- 用户点击搜索框; 因为他没有登录,B被推(确认后);
- 他在B中成功登录,然后按下弹出B的按钮并再次显示A;
- 在这个时间点,因为他已登录,从viewWillAppear我做异步请求;
- 完成后,我调用reloadData表格视图.
我注意到的numberOfRowsInSection:是调用它并返回正确的结果,但cellForRowAtIndexPath:之后不会调用它并且表保持为空.
我已经检查并reloadData在主线程上调用了.
知道它能是什么吗?因为它让我疯了!
谢谢,
S.
编辑:这是viewWillAppearA 中代码的异步位.
if ([User isLoggedIn]) {
[self.asyncRequest fetchDataWithCompletionHandler:^(id response, NSError *error) {
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
if (error) {
[Utils displayError:error];
} else {
self.array = response;
self.isLoaded = YES;
[self.tableView reloadData];
[self.tableView setContentOffset:CGPointMake(0.0f, 0.0f) animated:NO];
}
}];
}
Run Code Online (Sandbox Code Playgroud)
我已经检查过异步请求是否成功完成并且 …
我已将iOS SDK升级到新发布的4.1,现在我在构建应用程序时出现以下错误:
/DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23
/DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23: error: expected function body after function declarator
Run Code Online (Sandbox Code Playgroud)
查看.h文件中的该行,我看到以下内容:
CG_EXTERN void CGPDFContextAddDocumentMetadata(CGContextRef context, CFDataRef metadata) CG_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0);
Run Code Online (Sandbox Code Playgroud)
真正有趣的是定义__MAC_10_7似乎没有在任何地方定义.我在预编译应用程序的.pch文件时遇到此错误.
令人好奇的是,一个简单的hello world app会编译.
知道我该怎么办?
提前致谢!
Stelian
我有一个集合视图,我希望每个部分都有一个页眉和一个页脚.我正在使用默认的流布局.
我有自己的子类,UICollectionReusableView并在viewDidLoad视图控制器的方法中为页眉和页脚注册每个子类.
我已经实现了方法collectionView:viewForSupplementaryElementOfKind:atIndexPath:,但是,对于每一个部分,它只是调用kind是UICollectionElementKindSectionHeader.因此我的页脚甚至没有创建.
任何想法为什么会这样?
我必须从我的应用程序中访问一个网页,为了能够访问它,我需要设置一些自定义HTTP标头.我想WebView在我的活动中使用该类,但据我所知,不可能设置自定义HTTP头.
那么有一种方法可以使用现有的Web浏览器(或WebView)自定义HTTP标头吗?我的应用程序针对Android 1.6.
任何想法如何解决这一点非常感谢.
谢谢!