假设我有一个自定义的NSManagedObject Department
,它有一个表示与员工的多对多关系的属性,即NSSet *employees;
.
对于给定的部门,我想删除员工中的所有对象.请问有什么建议/最好的方法吗?
所以,假设我的代码看起来像这样:
Department.h
@interface Department: NSManagedObject {
}
@property (retain) NSString *departmentName;
@property (retain) NSSet *employees;
@end
Run Code Online (Sandbox Code Playgroud)
Department.m
@implementation Department
@dynamic departmentName;
@dynamic employees;
Run Code Online (Sandbox Code Playgroud)
Employee.h
@interface Employee: NSManagedObject {
}
@property (retain) NSString *firstName;
@property (retain) NSString *lastName;
@property (retain) Department *worksIn;
@end
Run Code Online (Sandbox Code Playgroud)
doCoreDataStuff
- (void)doCoreDataStuff:sender {
//add a department, give it a couple employees, then try to remove those employees
NSEntityDescription *deptEntity = [NSEntityDescription entityForName:@"Department"
inManagedObjectContext:self.managedObjectContext];
Department *dept = [Department alloc] …
Run Code Online (Sandbox Code Playgroud) 我希望能够更改设备运动管理器参考框架(用于陀螺仪),以便我的重力矢量在Y轴上.
通常,当您启动Device Motion Manager更新时,您只能使手机的z轴与重力对齐.
您可以更改此项以使用磁力计使x轴与磁北极或真北极对齐.有了这个,我的X轴指向北方,我的Z轴指向下方.
我想要做的是让我的Y轴(负)指向下方(使其与重力对齐)并使我的X轴指向真正的磁极.
我想要的结果是,当我的手机静止在垂直(纵向)方向时,手机的右侧将与北极对齐,我的所有读数(滚动,俯仰,偏航)将读为0.然后使用如果我在X轴上旋转手机,音高会改变,如果我绕Y轴旋转,偏航会改变.
到目前为止,我知道我可以设置自己的参考框架,如果我乘以先前存储的态度的倒数,(就像我可以手动设置我的手机这种方向,保存这种态度,并简单地将新态度乘以逆这个存储的一个和我的所有读数将完全像我想要的那些).
但是手动设置它不是一个选项,所以我如何以编程方式进行此操作?
我不认为有一个函数来创建我自己的态度参考框架,或者如果至少有一个函数将态度乘以旋转矩阵,那么我可以解决这个问题.(因为我只是将所有态度乘以90度的音高变化).
我希望我能清楚地解释清楚,
我将不胜感激任何建议.谢谢
PD:这些是iPhone Orientation坐标:
我想要求澄清iOS 11以后的Twitter共享.
官方Apple文档在发行说明中说明了以下内容:
社交帐户已从iOS 11中的"设置"中删除.第三方应用无法再访问这些已登录的帐户.(31687059)
和Twitter官方文档在这里指出:
iOS 11不再支持通过内置的社交框架使用Twitter.相反,您可以使用Twitter Kit 3来推文,登录用户并使用Twitter API.
我有点困难,试图了解这些变化如何影响应用程序的共享.
目前,使用"社交"框架,可以简单地使用SLComposeViewController轻松共享多个服务.
通过此更改,只要用户安装了相应的应用程序,SLComposeViewController似乎仍然可以使用,因为该应用程序将自动显示它自己的共享表.但如果没有安装该应用程序,它将默默地失败(基于我的实验).
*目前twitter正在显示"No Twitter Account"警告消息,但我相信这是一个错误.
如果正确的行为是上述行为,那么我的理解是正确的.然而,Twitter文档听起来好像社交框架不再适用于Twitter.
此外,"SLServiceTypeTwitter"现在显示为已弃用,这意味着继续依赖它是一个坏主意.https://developer.apple.com/documentation/social/slservicetypetwitter
有人可以为我澄清一下吗?
PD:我相信这也适用于其他社会服务.
我有一个"舞台选择"场景和一个"游戏"场景.然而,当用户按下按钮以开始游戏场景时,在按下和场景显示之间存在延迟(在旧设备上大约2秒或更多).所以我认为我应该创建一个加载场景.
所以我现在正在做的是将"加载"场景传递给一个std :: function,它在加载场景出现后0.1秒被调用.此函数具有启动"游戏"场景的代码,如下所示:
用于创建加载场景.
auto loading_scene = LoadingScene::createLoadingScene([stage_course]() {
Director::getInstance()->replaceScene(Game::createScene(stage_course->course_id));
});
Director::getInstance()->replaceScene(loading_scene);
Run Code Online (Sandbox Code Playgroud)
加载游戏场景.
void LoadingScene::onEnter()
{
Node::onEnter();
call_after(0.1, callback_start);
}
Run Code Online (Sandbox Code Playgroud)
结果是加载场景显示了一个正在运行的字符的简单动画精灵.起初我尝试在回调之前延迟1.0秒来检查精灵是否正常工作(确实如此,角色运行).但是当执行回调时(加载新场景的那个)它会停止移动并且在这样的情况下保持大约1-2秒,直到场景加载然后呈现它为止.
有没有人知道如何在场景加载时保持精灵动画,以便在显示"游戏"场景之前它永远不会停止运行?
编辑:
我正在使用cocos2d-x-3.8.
我的加载场景在其init函数中具有以下代码,用于创建用于为尖顶设置动画的动画:
// Create the sprite animation
Animation *animation = Animation::create();
for (int i = 0; i < INT16_MAX; i++)
{
string frame_sprite_name = StringUtils::format("Interface/loading/0_%d.png",i);
auto frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(frame_sprite_name);
if (frame) {
animation->addSpriteFrame(frame);
} else {
break;
}
}
animation->setDelayPerUnit(0.15f);
Animate *animate = Animate::create(animation);
// Create a temporal sprite to run the animation
auto …
Run Code Online (Sandbox Code Playgroud) 我正面临着一个我无法理解的问题.
我有一个webview(在Android和iOS上),它可以有3种可能的大小之一,具体取决于我在哪里显示它.(例如600 x 50或500 x 45)
使用CSS我设法使图像始终显示为填充100%的webview.然而,还有另一个元素,我必须使它也填充这个容器的100%.此元素加载以下代码:
<div class='amoad_native' data-sid='123456789'></div>
<script src='http://j.amoad.com/js/n.js' type='text/javascript' charset='utf-8'></script>
Run Code Online (Sandbox Code Playgroud)
我还应用以下CSS:
position: absolute;
z-index: 2;
left: 0;
top: 0;
Run Code Online (Sandbox Code Playgroud)
但即使我添加宽度:100%和高度:100%它似乎完全不受它的影响.唯一似乎改变其"大小"的是视口:
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
Run Code Online (Sandbox Code Playgroud)
但这似乎有所不同,具体取决于我使用的设备.
这就是它在iPhone 5上的样子:
这就是它在iPhone 6s Plus上的样子
两者都使用0.9的视口比例设置.但我的目标确实是让PR Box完全填满其容器.(你可以看到相同的图像,因为这只是我显示的正常图像,以防由于没有互联网连接或其他东西无法加载PR Box.
如果这是一个奇怪的问题,我很抱歉.我已经阅读了很多东西来使用亚马逊网络服务为iphone应用程序部署我自己的服务器.
我现在面临的问题是,我想使用令牌自动售货机系统来访问移动设备,以便从各自的帐户上传或检索内容.所以这是我想到的结构:
1)设备连接到TVM servlet以临时访问SimpleDB和S3.
2)设备现在将针对包含用户和密码的simpleDB域进行身份验证.
3)服务器将向设备发送唯一ID.
4)设备将使用此唯一ID在S3上传照片.
5)如果上传的响应成功,设备现在将添加一些信息,其中包括SimpleDB上的唯一ID和其他字段.
我的困惑是关于我需要的EC2实例.我想我可以使用一个带有servlet的java应用程序来执行大部分此过程,但是如果我想使用带有令牌自动售货机的身份验证,我应该启动第二个实例吗?亚马逊本身的示例使用自己的实例作为令牌自动售货机,并且只是获得直接访问数据库的授权.但我需要一些服务器端逻辑,这就是为什么我需要自己的服务器端处理来重定向这些上传和下载.
此外,如果有人会如此友善地告诉我这个结构是否有意义.我对服务器/数据库的东西都是新手,所以我真的不知道什么是好的结构.我已经阅读了我需要的亚马逊服务的最佳实践和技巧.但我还是不确定.
感谢您的反馈和支持.
当我使用AVFoundation framework
?获取图像时,如何在图像中保存自定义元数据?
我知道我可以访问属性天气我有我的图像UIImage
或CIImage
但这些属性似乎彼此不同(即使它是相同的图像).
到目前为止,我访问这样的字典:(代码取自Caffeinated Cocoa博客)
NSLog(@"about to request a capture from: %@", [self stillImageOutput]);
[[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
NSData *jpeg = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer] ;
CGImageSourceRef source = CGImageSourceCreateWithData((__bridge_retained CFDataRef)jpeg, NULL);
//get all the metadata in the image
NSDictionary *metadata = (__bridge NSDictionary *) CGImageSourceCopyPropertiesAtIndex(source,0,NULL);
//make the metadata dictionary mutable so we can add properties to it
NSMutableDictionary *metadataAsMutable = [metadata mutableCopy];
NSMutableDictionary *EXIFDictionary = [[metadataAsMutable objectForKey:(NSString *)kCGImagePropertyExifDictionary]mutableCopy];
NSMutableDictionary *GPSDictionary = …
Run Code Online (Sandbox Code Playgroud) 我试过谷歌和stackoverflow但我似乎无法找到以CVOpenGLESTexture开头的函数的官方文档.我可以看到它们来自核心视频,我知道它们是在iOS 5上添加的,但搜索文档并没有给我任何东西.
我正在寻找有关参数的信息,他们做什么,如何使用它们等,就像在其他苹果框架中一样.
到目前为止我所能做的就是命令点击它来查看信息,但这感觉非常奇怪.或者有没有办法添加它,以便它可以显示在xcode右侧的快速帮助?
如果这是一个愚蠢的问题,谢谢,对不起.
PD:核心视频参考指南似乎也没有解释这些.
我知道每个工作方式之间的区别,但我想从性能明智的角度来看(iphone中的资源).
假设我发送一个异步请求并等待代理被调用.这不会锁定我的执行线程.但是这样做与仅在另一个线程中使用GCD发送同步请求的区别是什么.
像这样:
dispatch_queue_t findPicsQueue;
findPicsQueue = dispatch_queue_create("FindPicsQueue", NULL);
dispatch_async(findPicsQueue, ^{
NSData *theResponse = [NSURLConnection sendSynchronousRequest:theRequest
returningResponse:&response
error:&error];
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
if (error) {
NSLog(@"Error: %@",error)
}
if (httpResponse.statusCode == 200)
{
[self parseXMLFile:theResponse]; // Parses Data and modifies picturesFound
for (PictureData *tmp in picturesFound) {
NSLog(@"%@",tmp);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它不会锁定我的界面,因为它没有在主线程中执行,但它会锁定这个特定的线程.而且我也认为GCD同时运行队列.
提前致谢.我真的想澄清这个问题.
我有以下代码在循环中运行:
var index = fileNames[x].lastIndexOf("/") + 1;
var currentImageName = fileNames[x].substr(index);
if (currentImageName.indexOf(".jpg") != -1) {
reader.getFileAsBlob(fileNames[x])
.done(function(blob) {
picturesFilePathArray.push({
fileName: currentImageName,
fileURL: blobURL(blob)
});
refreshKMZList();
});
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我试图将具有2个属性的对象保存到数组中.该对象应具有标识符和结果.(分别是fileName和fileURL).但由于此函数是异步的(通过promise执行).到"getFileAsBlob"完成时,currentImageName已经更新,最终以我的许多具有相同标识符的对象结束(最后一个在完成之前处理).
这可能是一个非常容易的问题,但我对javascript很新,还没有找到任何关于它的东西.
我认为解决方案可能是将变量传递给"done"函数,但我认为这个函数是方法返回的函数,并且已经设置好了.(我不知道它看起来如何)
编辑:
代码就在普通循环中
for (x = 0; x<fileNames.length; x++)
Run Code Online (Sandbox Code Playgroud) ios ×5
iphone ×2
javascript ×2
objective-c ×2
xcode ×2
android ×1
asynchronous ×1
c++ ×1
cocoa ×1
cocos2d-x ×1
concurrency ×1
core-data ×1
core-motion ×1
css ×1
gyroscope ×1
html ×1
ios11 ×1
ios5 ×1
macos ×1
opengl-es ×1
twitter ×1
xcode4.2 ×1