小编Pra*_*era的帖子

iOS 8仅使用UIAlertController或UIActionSheet进行内存泄漏

当我使用UIActionSheet或UIAlertController执行以下操作时,我在模拟器中看到iOS 8中的内存泄漏.UIActionSheet在IOS 8中使用UIAlertController,因此问题是相关的.

按下按钮时会调用showCameraAction.我已从委托方法中删除了所有内容,但在下面显示的情况下仍然会出现泄漏.我是否以某种方式使用UIActionSheet,我不应该这样做?我将非常感谢您解决此问题的任何帮助.相同的代码与IOS 7没有泄漏(在模拟器中).

-(IBAction)showCameraAction:(id)sender
{

UIActionSheet* actionSheet = [[UIActionSheet alloc] initWithTitle:@"Photo From:"
                                                         delegate:self
                                                cancelButtonTitle:@"Cancel"
                                           destructiveButtonTitle:nil
                                                otherButtonTitles:@"Phone", @"Flickr", nil];

[actionSheet showInView:[[UIApplication sharedApplication] keyWindow]];
//also tried  just showInView: self.view
}
Run Code Online (Sandbox Code Playgroud)

//空

 - (void)actionSheet:(UIActionSheet *)actionSheet
 clickedButtonAtIndex:(NSInteger)buttonIndex {
 }
Run Code Online (Sandbox Code Playgroud)

也尝试使用UIAlertController,结果相同:

UIAlertController *alertController = [UIAlertController
                                      alertControllerWithTitle:@"Photo From:"
                                      message:@""
                                      preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *phoneAction = [UIAlertAction
                               actionWithTitle:NSLocalizedString(@"Phone", @"Phone action")
                               style:UIAlertActionStyleCancel
                               handler:^(UIAlertAction *action)
                               {
                                   NSLog(@"Phone action");
                               }];

UIAlertAction *flickrAction = [UIAlertAction
                           actionWithTitle:NSLocalizedString(@"Flickr", @"Flickr action")
                           style:UIAlertActionStyleDefault
                           handler:^(UIAlertAction *action)
                           {
                               NSLog(@"Flickr action");
                           }];

[alertController addAction:phoneAction];
[alertController addAction:flickrAction];


[self presentViewController:alertController …
Run Code Online (Sandbox Code Playgroud)

memory-leaks uiactionsheet ios ios8 uialertcontroller

9
推荐指数
2
解决办法
4712
查看次数

使用AWS SDK加载凭据JSON导致错误

我正在尝试使用loadFromPath加载AWS的凭据并获得意外错误.使用AWS.config.update对相同凭据进行硬编码工作正常.为了确保凭证文件的路径和格式是正确的,我使用fs.readFile加载它并且它正确加载,因此似乎没有任何路径/权限问题.这似乎超级基本,但我一直在努力解决我的头发.谢谢你的帮助.

错误/输出:

    Here: /home/ec2-user/.ec2/credentials.json
    Got this through readFile: { access_id: 'XXXXXXX',
    private_key: 'XXXXXXX',
    keypair: 'praneethkey',
    'key-pair-file': '/home/ec2-user/.ec2/praneethkey.pem',
    region: 'us-west-2' }

    /home/ec2-user/node_modules/aws-sdk/lib/config.js:221
    if (err) throw err;
                   ^
  SyntaxError: Unexpected token <
    at Object.parse (native)
    at /home/ec2-user/node_modules/aws-sdk/lib/metadata_service.js:100:38
    at IncomingMessage.<anonymous> (/home/ec2-user/node_modules/aws-sdk/lib/metadata_service.js:75:43)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:910:16
    at process._tickCallback (node.js:415:13)
Run Code Online (Sandbox Code Playgroud)

代码:

'use strict';

var AWS = require('aws-sdk');
var fs = require('fs');

var pathv = process.env.HOME + '/.ec2/credentials.json';

AWS.config.loadFromPath(pathv);

console.log('Here: ' + pathv);


fs.readFile(pathv, 'utf8', function (err, data) {
  if (err) {
    console.log('Error: ' + …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services node.js

7
推荐指数
1
解决办法
1万
查看次数

猫鼬私人聊天消息模型

我正在尝试将用户之间的私人消息传递添加到我的数据模型中。我一直在两种可能的方式之间来回移动。

1)每个用户都有一个与他们参与的聊天相对应的user_id,chat_id对数组。聊天模型仅存储chat_id和消息数组。

2)根本不存储与用户的聊天,而让Chat模型存储一对user_id和消息数组。

选项(1)的问题是,无论何时用户加入或开始聊天,我都需要先通过数组查找该用户,以查看user_id和chat_id对是否已经存在。然后在“聊天”中再次查找chat_id。如果不存在,则需要在两个不同的位置为两个参与的用户创建user_id和chat_id对。

使用选项(2)时,我将在聊天模型中搜索user_id1,user_id2对,如果找到了,就完成了;否则,我将为该对创建新的Chat记录并完成。

基于此选项(2)似乎是处理此问题的更好方法。但是,我遇到了一些问题,他们想出如何在聊天模型中轻松搜索用户ID的“对”模型。即,即使以错误的顺序传递了user_id,也如何确保可以找到聊天记录,即user_id2,user_id1。在猫鼬中对此建模的最佳方法是什么?

var chatSchema = mongoose.Schema({

  messages: [{
        text: { 
          type: String,
          max: 2000
        },
        sender: { 
          type: mongoose.Schema.Types.ObjectId, 
          ref: 'User'
        }
      }],
  participant1: [{                
          type: mongoose.Schema.Types.ObjectId, 
          ref: 'User'
        }]
  participant2: [{                
          type: mongoose.Schema.Types.ObjectId, 
          ref: 'User'
        }]
});
Run Code Online (Sandbox Code Playgroud)

如果是上述情况,我将如何搜索参与者对?我能否以某种方式对参与者ID进行排序,以使它们始终是participant1 <participant2,例如,使搜索更简单?

mongoose mongodb node.js

4
推荐指数
2
解决办法
3223
查看次数