我正试图在我的应用程序内打开Gallery内置应用程序中的图像/图片.
我有一张图片的URI(图片位于SD卡上).
你有什么建议吗?
我将图像保存到SD卡中,直到我拉出SD卡并将其返回后才会出现在Gallery应用程序中.
你知道为什么会这样吗?
看起来像Gallery应用程序有一些缓存没有更新文件保存...
实际上,我还想在Gallery应用程序中打开刚刚保存的图像并且没有成功,
这是我对此问题的疑问.
我正在尝试使用单独的线程来处理某些API.
问题是我无法使用performSelector:onThread:withObject:waitUntilDone:
我为此实例化的线程的方法.
我的代码:
@interface MyObject : NSObject {
NSThread *_myThread;
}
@property(nonatomic, retain) NSThread *myThread;
@end
@implementation MyObject
@synthesize myThread = _myThread;
- (NSThread *)myThread {
if (_myThread == nil) {
NSThread *myThreadTemp = [[NSThread alloc] init];
[myThreadTemp start];
self. myThread = myThreadTemp;
[myThreadTemp release];
}
return _myThread;
}
- (id)init {
if (self = [super init]) {
[self performSelector:@selector(privateInit:) onThread:[self myThread] withObject:nil waitUntilDone:NO];
}
return self;
}
- (void)privateInit:(id)object {
NSLog(@"MyObject - privateInit start");
}
- (void)dealloc …
Run Code Online (Sandbox Code Playgroud) 首先,我看到有很多关于"无法识别的选择器发送到实例"的问题.
我见过很少,但没有看到访问类别属性中定义的...
我在UILabel上有一个属性的类别.
确定了getter和setter.
实际上我在2个不同的类别中拥有相同的属性(对于2个不同的类别:UIButton和UILabel).
问题是我可以为UIButton访问此属性,但不能访问UILabel.
一旦我尝试访问UILabel(文本)类别中的任何方法/属性,它就会删除" - [UILabel test]:无法识别的选择器发送到实例0x4e539f0"异常.
两个类别文件都已导入.
我不知道是什么问题.
这是一些代码:
// UILabel+text.h
@interface UILabel (text)
- (void)test;
@end
// UILabel+text.m
@implementation UILabel (text)
- (void)test {
NSLog(@"test");
}
@end
// UIButton+text.h
@interface UIButton (text)
- (void)test;
@end
// UIButton+text.m
@implementation UIButton (text)
- (void)test {
NSLog(@"test");// works
}
@end
// Usage (in UIViewController class) - both elements are defined in XIB
[self.button test];// works
[self.label test];// exception
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我不知道可能出现的问题......
谢谢.
迈克尔.
iphone objective-c unrecognized-selector objective-c-category
我想知道是否有可能检测用户是否正在从当前处于后台的应用程序进行呼叫.
或者,如果从我的应用程序启动了呼叫,则在呼叫结束时收到通知.
或者,甚至更多 - 有可能检测哪个应用程序在前台?
我不相信这是可能的,但我不得不尝试... ;-)
任何信息将不胜感激.
谢谢.
我知道在Graph API之前有可能.
我在一个可能不在后台的iPhone应用程序上工作(其中一个要求).
此外,应用程序启动时还有一个登录屏幕.
因此,每次用户想要分享内容时,不适合前往Facebook进行身份验证,然后返回应用并再次登录.
所以,我的问题是,如果有一种方法可以在不离开应用程序的情况下通过Facebook进行身份验证.
顺便说一下,我曾尝试使用旧的API.
它起初工作但昨天它停止工作.
我只是在旧的Facebook登录网页视图中看到一个空白屏幕.
我还检查了一个使用旧版Facebook Connect API的旧应用程序,我也在该应用程序中获得了相同的空白登录屏幕.
任何想法将不胜感激.
先感谢您.
-
迈克尔
我ABAddressBook
在我的应用程序中使用.
对AB的访问来自单独的线程以释放UI.
我知道对AB实例的访问必须始终来自同一个线程,因此我构建了一个包装器.
包装器是一个单例,它维护自己的后台线程.
到包装器的所有消息都会自动重定向到后台线程,而调用线程会一直等到实现结束,最后用相关数据(联系人列表,特定联系人等)填充out参数.
尽管如此,设备上的地址簿有时会被清空(擦除).
每10-20次使用该应用程序后.
所以,我几乎没有问题:
先感谢您.
-
迈克尔
我想知道是否有可能在iPhone Developer Portal中添加一个团队成员,该团队成员将只拥有一个应用程序的权限(请参阅/修改/更新).
原因 - 有一家大公司(在App Store中有很多应用程序)上传了我的一个应用程序,我很难向应用程序发送更新(无法访问负责所有iPhone的人)应用程序).
我想请他们加我作为团队成员,但他们可能会同意,只有当我不能看到/触摸任何其他应用程序,除了我开发的那个...
谢谢.
首先,抱歉这个问题太久了.
我知道这里讨论类似问题的问题很少,但这些问题都没有谈到NSFetchedResultsController与委托以及单独线程中的更新.并没有一个解决方案帮助了我.
这些是现有的问题:
现在关于我的问题:
NSFetchedResultsController
并且委托设置为self.有时我会was mutated while being enumerated
在单独的线程中更新数据时收到异常,有时会崩溃应用程序.
我已经做了很多代码操作,试图修复它,似乎没有任何帮助.
我已经尝试不直接从表视图数据源方法使用托管对象.而不是我创建了一个包含字典列表的数组.我用didChangeObject
上面的方法填写这些词典.这样我就不会在视图控制器中触摸托管对象了.
然后我明白问题出在NSFetchedResultsController中,可能一直在迭代数据.这是与单独线程中的数据更新冲突的对象.
问题是,一旦我有一个带委托的NSFetchedResultsController(意味着它"监视"数据并一直更新delagate),我如何更新单独线程中的核心数据对象.
NSFetchedResultsControllerDelegate实现:
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
[self.tableView beginUpdates];
}
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath {
if ( self.tabBarController.selectedIndex == 0 ) {
UITableView *tableView = self.tableView;
@try {
switch(type)
{
case NSFetchedResultsChangeInsert:
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeDelete:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeUpdate:
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone]; …
Run Code Online (Sandbox Code Playgroud) iphone multithreading delegates core-data nsfetchedresultscontroller
我有一个方法,它接收一个带有 onSuccess(result) 和 onFail(error) 方法的侦听器(接口)。
被测试的方法执行一些操作(在另一个线程上)并最终用一个答案调用侦听器。
方法本身的示例代码(不是测试):
testedObject.performAsyncAction("some data", new IListener(){
@Override
public void onSuccess(int result) {
if (result == 1) { /* do something */ }
else if (result == 2) { /* do something else */ }
}
@Override
public void onFailure(Error error) {
if (error.getMessage().equals("some error")) { /* do something */ }
else if (error.getMessage().equals("another error")) { /* do something else */ }
}
});
Run Code Online (Sandbox Code Playgroud)
我想对这种方法进行一些测试:
我正在尝试实现一个浮动的可拖动视图,该视图将显示在单个应用程序的所有活动中。
这意味着用户将能够在屏幕上拖动屏幕的 30% 高度和 50% 宽度的视图,并将其绘制在应用程序中的任何 Activity 上方。当用户切换到同一应用程序中的另一个活动时,浮动视图应保留在同一位置。
我知道可以使用SYSTEM_ALERT_WINDOW
权限,我想避免这种情况,因为此视图只需要在应用程序中显示,并且我不希望要求用户批准此类权限。
另一个重要点:
该视图将成为 SDK 的一部分。
这意味着我不对应用程序的活动/片段/布局负责。
我可以有/假设:
RelativeLayout
并且有一个 id root_layout
)4-6 年前被问过的类似问题,有 0 个满意的答案:
有没有办法从SIP取消注册并在Linphone中重新注册?
我找不到取消注册功能.
我应该完全销毁linphone核心吗?
还是有更软的解决方案?
目前我正在尝试在iOS中实现它,但稍后这将是其他平台所必需的.
谢谢.
iphone ×7
android ×4
ios ×3
gallery ×2
image ×2
abrecordref ×1
android-view ×1
asynchronous ×1
background ×1
core-data ×1
delegates ×1
facebook ×1
floating ×1
ios4 ×1
java ×1
linphone ×1
mocking ×1
objective-c ×1
save ×1
sip ×1
unit-testing ×1