我知道有三种方法可以获得当前的界面方向:
self.interfaceOrientation[[UIApplication sharedApplication] statusBarOrientation][[UIDevice currentDevice] orientation]他们之间有什么不同?
我的UITableView出现了一个奇怪的问题:我reloadRowsAtIndexPaths:withRowAnimation:用来重新加载一些特定的行,但应用程序崩溃时出现了一个看似无关的异常:NSInternalInconsistencyException - 尝试删除多于部分中存在的行.
我的代码如下所示:
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
Run Code Online (Sandbox Code Playgroud)
当我reloadRowsAtIndexPaths:withRowAnimation:用一个简单的替换该消息时reloadData,它完美地工作.
有任何想法吗?
我在Mac上设置了多个开发者帐户,现在需要退出我的帐户才能访问其他人的资源.我无法在任何地方找到这样的选择.
知道如何退出Xcode Organizer吗?
这是我想出的:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:1]; // my table view has 2 sections
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];
Run Code Online (Sandbox Code Playgroud)
每次我构建和运行时,它都会抛出以下异常:
无效更新:第0节中的行数无效.更新后现有部分中包含的行数必须等于更新前该部分中包含的行数,加上或减去添加或删除的行数那一节.
这有点令人困惑.该部分设置为1,但异常表示它为0.
我注意到我的一个视图控制器发生了一些奇怪的事情:后退按钮消失了,但是可以通过点击左上角(即按钮所在的位置)返回到上一个视图控制器.
在我的整个文件中,没有将self.navigationItem.hidesBackButton设置为YES的行; 同样,NSLog在viewDidLoad中将self_navigationItem.hidesBackButton的值打印为0.
这在模拟器和真实设备中都会发生.有任何想法吗?
我的编辑按钮放在viewDidLoad中:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Run Code Online (Sandbox Code Playgroud)
它在导航栏上正确显示,点击此按钮确实将其更改为完成.但是,我的表格行中没有显示减号按钮.然后点击一行,然后点击删除工作.
有任何想法吗?
编辑1:这是我正在做的事情:
- (void)loadView {
tableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
tableView.delegate = self;
tableView.dataSource = self;
tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view = tableView;
}
Run Code Online (Sandbox Code Playgroud)
编辑2:我的观察是如果我的tableview是在IB(RootViewController)中创建的,编辑和减号按钮显示正常.另外两个(或三个)tableview是由前面的代码创建的,因此可能是问题所在.猜猜我不得不潜入isEditing,编辑和诸如此类的东西.
我使用以下代码从iPhone钥匙串中检索登录凭据:
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"Test" accessGroup:nil];
NSString *username = [wrapper objectForKey:(id)kSecAttrAccount];
NSString *password = [wrapper objectForKey:(id)kSecValueData];
[wrapper release];
Run Code Online (Sandbox Code Playgroud)
我的第一次用户启动应用程序,无论用户名密码也可以从钥匙串中检索的印象,所以username和password应该等于nil.但是,我无法使用打印出任何这些变量NSLog.
有什么建议?
我是新手.我正在尝试构建一个测验应用程序,而我的应用程序在测验的第一次迭代运行正常,它退出时没有任何控制台错误在第二次运行.修改以下所有代码以供参考.
看起来当我重新运行测验时, - (void)下面的loadNextWord函数确实执行但之后没有任何反应.
请帮忙!
谢谢!
从调试器转储:
我在主函数中的第14行是int retVal = UIApplicationMain(argc,argv,nil,nil);
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
Program received signal: “EXC_BAD_ACCESS”.
(gdb)
#0 0x025f0907 in objc_msgSend ()
#1 0x05f28da0 in ?? ()
#2 0x023cfc9d in _CFAutoreleasePoolPop ()
#3 0x0001ee67 in -[NSAutoreleasePool release] ()
#4 0x002cfe7f in _UIApplicationHandleEvent ()
#5 0x02d73822 in PurpleEventCallback ()
#6 0x02474ff4 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#7 …Run Code Online (Sandbox Code Playgroud) 似乎很难提高UIWebView的性能,特别是对于像Mashable或Ars Technica这样的网站,其中加载了大量脚本并且长篇多页文章很常见.
我知道3个类似的问题,但它们都没有可行的解决方案:
-(void)_setDrawInWebThread:(BOOL)arg1和-(void)_setDrawsCheckededPattern:(BOOL)arg1建议,我们知道它们不允许在App Store应用程序中使用我想知道这个问题是否有任何解决方案.欢迎任何建议.
当用户在UITextView或UIWebView中选择一些文本时,会显示UIMenuController.有没有办法以程序方式访问此选定的文本?
我需要它,因为我想向UIMenuController添加自定义项:'搜索'选项,用于搜索数据库中的选定文本.
是否可以不使用"复制"项目将文本复制到粘贴板,然后下次从UIPasteBoard获取它? - 我对这种解决方法不感兴趣.
说,我有一个地址栏,它是一个名为textField的UITextField,以及一个名为webView的UIWebView.大多数情况下,以下代码有效:
[webView loadURL:[NSURL URLWithString:textField.text]];
Run Code Online (Sandbox Code Playgroud)
当我输入一些带有特殊字符的长字符串时,URLWithString:只需返回null.可读性书签是一个很好的例子:
javascript:(function(){readConvertLinksToFootnotes=true;readStyle='style-newspaper';readSize='size-medium';readMargin='margin-wide';_readability_script=document.createElement('script');_readability_script.type='text/javascript';_readability_script.src='http://lab.arc90.com/experiments/readability/js/readability.js?x='+(Math.random());document.documentElement.appendChild(_readability_script);_readability_css=document.createElement('link');_readability_css.rel='stylesheet';_readability_css.href='http://lab.arc90.com/experiments/readability/css/readability.css';_readability_css.type='text/css';_readability_css.media='all';document.documentElement.appendChild(_readability_css);_readability_print_css=document.createElement('link');_readability_print_css.rel='stylesheet';_readability_print_css.href='http://lab.arc90.com/experiments/readability/css/readability-print.css';_readability_print_css.media='print';_readability_print_css.type='text/css';document.getElementsByTagName('head')[0].appendChild(_readability_print_css);})();
Run Code Online (Sandbox Code Playgroud)
根据这个答案,我可以stringByAddingPercentEscapesUsingEncoding用来逃避字符串,事实上它适用于这种情况.
我的问题是:在将字符串传递给webView之前始终调用是否安全stringByAddingPercentEscapesUsingEncoding:?以下是否有任何后果?
[webView loadURL:[NSURL URLWithString:[textField.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:我的意思是'安全'是虽然这适用于包含Unicode字符的网址,但它仍适用于"普通"网址吗?
编辑2:如果这是'安全',为什么它不是默认行为?
我的RootViewController包含一个表视图和一个导航栏.点击一行后,另一个视图控制器被推送到堆栈,即SecondViewController.如果单击"后退"按钮,则会从堆栈中弹出SecondViewController,但父视图控制器的数据已过期.
我怎么能重新加载RootViewController的数据?我的第一次尝试是实施
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)
并再次调用viewdidLoad.
问题是,在第一次加载时,viewDidLoad将被调用两次.
O(n2)旁边是否有任何解决方案.我正在考虑循环遍历每个值然后得到总和
iphone ×10
cocoa-touch ×4
objective-c ×4
uiwebview ×3
uitableview ×2
algorithm ×1
crash ×1
ios ×1
ios4 ×1
java ×1
keychain ×1
nsurl ×1
orientation ×1
xcode ×1