小编dan*_*n78的帖子

对Windows HANDLE使用std :: unique_ptr

我试图使用std :: unique_ptrs以异常安全的方式管理Windows HANDLE.

首先我试过:

struct HandleDeleter
{
    void operator()( HANDLE handle )
    {
        if( handle )
        {
            FindVolumeClose( handle )
        }
    }
}
typedef std::unique_ptr< HANDLE, HandleDeleter > unique_vol_handle_t;
Run Code Online (Sandbox Code Playgroud)

稍后在我的代码中尝试使用它时:

unique_vol_handle_t volH( FindFirstVolumeW( buffer, MAX_GUID_PATH ) );

我从Visual Studio 2012RC收到以下错误:

1>          error C2664: 'std::unique_ptr<_Ty,_Dx>::unique_ptr(std::nullptr_t) throw()' : cannot convert parameter 1 from 'HANDLE' to 'std::nullptr_t'
1>          with
1>          [
1>              _Ty=HANDLE,
1>              _Dx=VolumeHandleDeleter
1>          ]
1>          nullptr can only be converted to pointer or handle types
Run Code Online (Sandbox Code Playgroud)

引用上面的volH声明行.

搜索了一段时间后,我发现了一篇博文,基本上说,添加: …

c++ unique-ptr visual-c++ c++11 visual-studio-2012

18
推荐指数
4
解决办法
7497
查看次数

swift中的警报错误

我在swift和Xcode 6中编写这段代码

@IBAction func Alert(sender : UIButton) {
  var alert : UIAlertView = UIAlertView(title: "Hey", message: "This is  one Alert",       delegate: nil, cancelButtonTitle: "Working!!")

    alert.show()
}
Run Code Online (Sandbox Code Playgroud)

Xcode在编译时不显示错误.

但在模拟器中,APP失败并返回错误:

(lldb)
thread 1 EXC_BAD_ACCESS(code 1 address=0x20)
Run Code Online (Sandbox Code Playgroud)

ios swift

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

CNUI ERROR联系人视图延迟外观超时

我试图在iOS 10中显示Contacts与ContactsUI框架添加新的联系人视图.我用来呈现CNContactViewController的代码如下:

    let contactViewController = CNContactViewController(forNewContact: contact)
    contactViewController.contactStore = CNContactStore()
    contactViewController.delegate = self

    self.present(contactViewController, animated: false) {}
Run Code Online (Sandbox Code Playgroud)

但每次执行代码时,应用程序都会被冻结,我得到以下错误日志的三倍以上:[CNUI ERROR]联系人视图延迟出现超时

欢迎任何解释,

ios ios10

18
推荐指数
1
解决办法
2135
查看次数

convertPoint:toView:似乎没有工作

我有一个带有自定义TableCellViews的TableView,它上面有UILabel和UIButtons.当其中一个按钮被录音时,我想显示一个描述按钮文本的"工具提示".

除了当我尝试将UIButton的中心坐标转换为rootView(UIView)的坐标时,大多数都工作正常.

这是代码:

- (void) fancyLabelButtonPressed: (UIButton *) button {
  CGPoint btnPoint = button.center;   // x=200.5 y=27.5
  CGPoint rootViewPoint = [button convertPoint:btnPoint toView:rootView];
  // rootViewPoint -> x=390.5 y=197.5
  CGPoint pointToUse = CGPointMake(btnPoint.x +20, rootViewPoint.y - 23); // Hack to get it close
}
Run Code Online (Sandbox Code Playgroud)

怎么能rootViewPoint.x=390.5当我在纵向视图?!?通过使用按钮中的x和rootViewPoint中的y,我接近它应该是什么,但它只是一个黑客.

有谁看到我做错了什么?或者,还有更好的方法?

iphone coordinates

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

什么时候释放自动释放的对象?

我是objective-c的新手,我正在努力理解内存管理以使其正确.

在阅读了
针对Cocoa的优秀内存管理编程指南之后,我唯一担心的是在iphone/ipod应用程序中实际释放自动释放的对象.我的理解是在运行循环结束时.但是什么定义了应用程序中的运行循环?

所以我想知道下面的代码是否正确.假设一个对象

@implementation Test

- (NSString *) functionA {
    NSString *stringA;
    stringA = [[[NSString alloc] initWithString:@"Hello"] autorelease]
    return stringA;
}

- (NSString *) functionB {
    NSString *stringB;
    stringB = [self functionA];
    return stringB;
}

- (NSString *) functionC {
    NSString *stringC;
    stringC = [self functionB];
    return stringC;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString* p = [self functionC];
    NSLog(@"string is %@",p);
}

@end
Run Code Online (Sandbox Code Playgroud)

这段代码有效吗?

从Apple文本据我所知,从NSString的返回泛函是在范围内有效functionB.我不确定它在functionCviewDidLoad中是否有效. …

iphone cocoa-touch memory-management objective-c autorelease

16
推荐指数
1
解决办法
3912
查看次数

ActivityNotFoundException?

ActivityNotFoundException在以下代码中得到一个:

Main.java

Intent intent = new Intent();
     intent.setAction("com.test.app.TEST");
     startActivity(intent); // ActivityNotFoundException
Run Code Online (Sandbox Code Playgroud)

的Manifest.xml

<activity android:name=".MainActivity" android:theme="@android:style/Theme.Dialog">
        <intent-filter>
            <action android:name="com.test.app.TEST" />
        </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

android android-intent

15
推荐指数
5
解决办法
3万
查看次数

Android:从Fragment更改ActionBar菜单项

任何人都可以提供一个快速示例,说明如何根据片段中发生的事情更改"活动"操作栏的内容?我的意图:

普通菜单项 - >片段中的某些内容被移动 - >菜单项更改为保存/放弃按钮.

我的第一个冲动是在活动和片段中设置广播接收器以进行串扰,但我不确定这是否正确.

android android-fragments android-actionbar

15
推荐指数
2
解决办法
2万
查看次数

以编程方式在iOS中捕获状态栏的完整屏幕截图

我正在使用此代码捕获屏幕截图并将其保存到相册中.

-(void)TakeScreenshotAndSaveToPhotoAlbum
{
   UIWindow *window = [UIApplication sharedApplication].keyWindow;

   if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
       UIGraphicsBeginImageContextWithOptions(window.bounds.size, NO, [UIScreen mainScreen].scale);
   else
       UIGraphicsBeginImageContext(window.bounds.size);

   [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();

   UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
Run Code Online (Sandbox Code Playgroud)

但问题是每当截图保存时,我都看不到iPhone的状态栏.相反,底部会出现一个空白区域.如下图所示: 在此输入图像描述

我究竟做错了什么?

objective-c uiwindow ios uiscreen

14
推荐指数
3
解决办法
2万
查看次数

错误C2371:重新定义; 不同的基本类型 - 为什么?

我有以下代码:

#include <stdio.h>
#include <stdlib.h>

// helping
void sortint(int numbers[], int array_size)
{
  int i, j, temp;

  for (i = (array_size - 1); i > 0; i--)
  {
    for (j = 1; j <= i; j++)
    {
      if (numbers[j-1] > numbers[j])
      {
        temp = numbers[j-1];
        numbers[j-1] = numbers[j];
        numbers[j] = temp;
      }
    }
  }
}

// exer1 - A

void sort(int** arr, int arrsize) {
    int i = 0;
    // sort....
    for(; i < arrsize; ++i) {
        sortint((*(arr+i))+1,  **(arr+i));
    } …
Run Code Online (Sandbox Code Playgroud)

c visual-studio-2010

14
推荐指数
2
解决办法
6万
查看次数

JavaScriptSerializer命名空间问题

我在尝试实现JavaScriptSerializer解析从服务器接收的JSON字符串时遇到问题.

我实现了以下代码:

responseFromServer = readStream.ReadLine();
JavaScriptSerializer ser = new JavaScriptSerializer();
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(responseFromServer);
var status = dict["notificationType"]; 
Debug.WriteLine(status);
Run Code Online (Sandbox Code Playgroud)

我补充道 using System.Web.Script.Serialization;

Visual C#2010 Express告诉我命名空间Script中不存在命名空间名称System.Web.结果JavaScriptSerializer是无效的.

我错过了使用它,还是有更好的方法来解析JSON字符串?

c# json visual-studio-2010 javascriptserializer

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