我正在尝试在iPhone的照片库中创建自定义相册,然后保存我用相机拍摄的照片,或从手机相机胶卷中选择到该自定义相册的照片.我可以成功创建相册,但照片没有保存在那里,而是他们被保存到模拟器保存的照片专辑...我不知道如何告诉UIImageWriteToSavedPhotosAlbum保存到我刚创建的新专辑addAssetsGroupAlbumWithName. ..
这是我到目前为止的代码 - 我已经删除了几个部分以保持我的代码示例简短...
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if([mediaType isEqualToString:(__bridge NSString *)kUTTypeImage])
{
// pull GPS information from photos metadata using ALAssetsLibrary
void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *) = ^(ALAsset *asset)
{
// code snipped out
};
NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:assetURL
resultBlock:ALAssetsLibraryAssetForURLResultBlock
failureBlock:^(NSError *error)
{
// code snipped out
}];
// getimage from imagePicker and resize it to the max size of …Run Code Online (Sandbox Code Playgroud) iphone objective-c uiimagepickercontroller uiimage alassetslibrary
要在主线程上执行"stuff",我应该使用dispatch_async还是performSelectorOnMainThread?是否有首选方式,正确/错误和/或最佳做法?
示例:我在NSURLConnection sendAsynchronousRequest:urlRequest方法块中执行某些逻辑.因为我正在做主要视图的东西,比如呈现UIAlertView我需要UIAlertView在主线程上显示.为此,我使用以下代码.
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
// code snipped out to keep this question short
if(![NSThread isMainThread])
{
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Oops!" message:@"Some Message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
});
}
}];
Run Code Online (Sandbox Code Playgroud)
在同一个if(![NSThread isMainThread])声明中,我也称之为一些自定义方法.问题是,我应该dispatch_async使用上面使用的方法还是更好地使用performSelectorOnMainThread?例如,下面的完整代码:
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
// code snipped …Run Code Online (Sandbox Code Playgroud) asynchronous objective-c nsthread grand-central-dispatch ios
我需要创建一个非常长的静态TableViewController.
静态表有大约5组,每组有几个单元,2-7取决于组.
当界面构建器仅允许您查看实际屏幕大小时,如何实现此目的?
在IB中有没有办法在tableview内滚动?或者可能拉长屏幕,以便我可以同时看到所有组和单元格?我的意思是,IB的重点在于视觉设计你的屏幕,但你如何设计一个多页长的屏幕呢?
最奇怪的事情正在发生.我有一个操作表,让用户可以选择用相机拍照或从相机胶卷中选择一个.在UIImagePicker从选择返回后,我使用ALAssetsLibrary来确定嵌入在照片中的GPS信息.从相机胶卷中选择照片效果很好,我可以检索GPS信息.但是,用相机拍照绝对没有提供GPS信息,实际上我根本没有元数据.有谁知道我在这里做错了什么?
代码如下:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if([mediaType isEqualToString:(__bridge NSString *)kUTTypeImage])
{
void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *) = ^(ALAsset *asset)
{
// get images metadata
NSDictionary *metadata = asset.defaultRepresentation.metadata;
NSLog(@"Image Meta Data: %@",metadata);
// get coords
CLLocation *location = [asset valueForProperty:ALAssetPropertyLocation];
NSLog(@"coordLat: %f , coordLon: %f", location.coordinate.latitude, location.coordinate.longitude);
// do more here - rest of code snipped to keep this question short
};
NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:assetURL …Run Code Online (Sandbox Code Playgroud) iphone gps objective-c uiimagepickercontroller alassetslibrary
我有一个我正在编写的应用程序,仅使用@properties.我的任何课程档案中都没有宣布任何一个ivar.据我所知,随着@property的推出,不再需要ivars了.我是按照最佳做法编码的吗?从长远来看,这最终会在众所周知的屁股中咬我吗?我一直在阅读关于"正确"和"错误"的评论......
我有两个TableViewControllers,中间有一个segue.当用户点击第一个TVC中的小区时,他们将看到第二个TVC.segue是模态的,有一个名为"segueToLocationDetails"的标识符,并传递一个对象.您或多或少可以将第二个TVC视为"详细信息"页面.
我的代码在我上面描述的场景中完美运行.然而,只要我将第二个TVC嵌入导航控制器,它就会中断.
例.我有完美的工作.然后我突出显示IB中的第二个TVC,将鼠标移到Product | 嵌入| 导航控制器.现在第二个TVC在导航控制器中.然而,segue仍然指向第二个TVC.我删除了segue并将其从第一个TVC的单元重新连接到导航控制器,并确保给segue一个标识符.再次跑,它打破了!错误低于......
2011-12-23 15:30:45.469 Project12 [5219:11603] - [UINavigationController setDetailsObject:]:无法识别的选择器发送到实例0x7b92ce0 2011-12-23 15:30:45.471 Project12 [5219:11603] *终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因是: ' - [UINavigationController的setDetailsObject:]:无法识别的选择发送到实例0x7b92ce0'*第一掷调用堆栈:(0x16ea052 0x150ad0a 0x16ebced 0x1650f00 0x1650ce2 0x3933 0x703e1e 0x36f6d9 0x36f952 0xbf786d 0x16be966 0x16be407 0x16217c0 0x1620db4 0x1620ccb 0x14ec879 0x14ec93e 0x2dfa9b 0x2a98 0x29f5 0x1)终止调用抛出异常当前语言:auto; 目前客观的c
下面的一些代码可以帮助解释:
AllLocations.h和AllLocations.m(这是主表)
AllLocations.h
@interface AllLocations : UITableViewController
{
SQLiteDB *mySQLiteDB;
}
@property (nonatomic, strong) NSMutableArray *locationsArray;
AllLocations.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"segueToLocationDetails" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"segueToLocationDetails"])
{ …Run Code Online (Sandbox Code Playgroud) 我在网站上使用 .twig 模板,但是我需要对一些视图的逻辑进行相当巧妙的处理。我不认为 twig 可以处理这个问题,它在 PHP 中是小菜一碟。(我不打算解释那是什么的细节,只知道它在 PHP 中很容易,而且我实际上已经有了代码)。问题是,我可以在 .twig 类型的基础模板或父模板中包含一个 .PHP 模板吗?
下面的示例(不起作用) - blah.html.php 是一个扩展 base.html.twig 模板的模板......
/some/web/directory/bundlename/Resources/views/blah/blah.html.php
<?php $view->extend('::base.html.twig') ?>
<?php $view['slots']->set('title', 'Welcome to nowhere!') ?>
<?php $view['slots']->start('body') ?>
<div id="body">
html stuff here, blah blah blah...
<?php .... ?>
complex php and html stuff, and so on...
</php end....?>
you get the idea...
</div>
<?php $view['slots']->stop() ?>
Run Code Online (Sandbox Code Playgroud)
在浏览器上,上面的代码将基本模板中的所有 .twig 代码呈现为浏览器中的文本(即模板引擎不会执行它)。
PS - 是的,我在 app/config/config.yml 中设置了 .twig 和 .php
templating: { engines: ['twig', 'php'] }
Run Code Online (Sandbox Code Playgroud)
好的,这里是“复杂”内容的详细信息......这取自用 Symfony …
我知道我有一个语法,但是我无法弄明白.我正在尝试对5个表进行SELECT和INNER JOIN,但Symfony抱怨JOIN中的实体在定义之前使用.
实际错误如下: [Semantical Error] line 0, col 121 near 'I ON C.id = ': Error: Identification Variable MySiteBundle:Items used in join path expression but was not defined before.
这是PHP代码.
注意:我已将此查询缩短为两列,两个表和一个联接,以使问题简单并显示我的观点.实际查询更长,并产生相同的错误.
$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'select C.name as CName, I.id as IId
FROM MySiteBundle:Categories C
INNER JOIN MySiteBundle:Items I ON C.id = I.category_id');
$result = $query->getResult();
Run Code Online (Sandbox Code Playgroud)
更新
正如所建议的那样,我已经废除了DQL代码并使用了Query Builder代码.我得到一个非常类似的错误'Categories c': Error: Class 'Categories' is not defined.我的QB代码如下.
$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder()
->select('c.name, i.id, i.image, …Run Code Online (Sandbox Code Playgroud) 我已autoUpload设置为false,因为我想自己将图像上传到我的后端。但是,要做到这一点,我首先需要文件对象。在回调onSubmitted事件中,我试图将图像 id 传递给getFile方法,以返回对象。但是,当我尝试这样做时,我收到以下错误消息。
在 onSubmitted: id=0 | 名称=28603454_15219061700_r.jpg index.js:2178
[Fine Uploader 5.16.2] 在“onSubmitted”回调中捕获异常 - 无法读取 null 的属性“uploader”
我猜我得到这个是因为我在声明一个 const 对象并同时引用它,我相信你不能这样做......
那么,关于如何在callbacks函数内调用方法的任何想法?或者还有其他方法吗?
const uploader = new FineUploaderTraditional({
options: {
maxConnections: 1,
autoUpload: false,
deleteFile: { enabled: true, endpoint: "/uploads" },
request: { endpoint: "/uploads" },
retry: { enableAuto: true },
callbacks: {
onSubmitted: function(id, name) {
console.log("in onSubmitted: id=" + id + " | name=" + name);
// getFile(id) returns a …Run Code Online (Sandbox Code Playgroud) 我有一个包含 playerId 值的日志文件,一些玩家在文件中有多个条目。我想获得唯一玩家的确切不同计数,无论他们在日志文件中是否有 1 个或多个条目。
使用下面的查询,它会扫描 497 条记录并找到 346 条唯一行(346 是我想要的数字) 查询:
fields @timestamp, @message
| sort @timestamp desc
| filter @message like /(playerId)/
| parse @message "\"playerId\": \"*\"" as playerId
| stats count(playerId) as CT by playerId
Run Code Online (Sandbox Code Playgroud)
如果我将查询更改为使用 count_distinct,我就会得到我想要的。下面的例子:
fields @timestamp, @message
| sort @timestamp desc
| filter @message like /(playerId)/
| parse @message "\"playerId\": \"*\"" as playerId
| stats count_distinct(playerId) as CT
Run Code Online (Sandbox Code Playgroud)
然而,count_distinct 的问题在于,随着查询扩展到更大的时间范围/更多的记录,条目的数量会达到数千甚至数万。由于 Insights count_distinct 行为的性质,当数字变为近似值时,这会带来一个问题......
“返回字段唯一值的数量。如果该字段具有非常高的基数(包含许多唯一值),则 count_distinct 返回的值只是一个近似值。”。
文档:https : //docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html
这是不可接受的,因为我需要确切的数字。稍微玩一下查询,并坚持使用 count(),而不是 count_distinct() 我相信这是答案,但是我无法得出一个数字......不起作用的例子......任何想法? …
amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights
objective-c ×5
ios ×3
iphone ×2
symfony ×2
asynchronous ×1
aws-cloudwatch-log-insights ×1
callback ×1
cocoa ×1
doctrine ×1
dql ×1
gps ×1
inner-join ×1
ios5 ×1
ivar ×1
javascript ×1
nsthread ×1
php ×1
properties ×1
reactjs ×1
segue ×1
twig ×1
uiimage ×1
uitableview ×1
xcode4 ×1