我试图使用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声明行.
搜索了一段时间后,我发现了一篇博文,基本上说,添加: …
我在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 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]联系人视图延迟出现超时
欢迎任何解释,
我有一个带有自定义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,我接近它应该是什么,但它只是一个黑客.
有谁看到我做错了什么?或者,还有更好的方法?
我是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.我不确定它在functionC和viewDidLoad中是否有效. …
iphone cocoa-touch memory-management objective-c autorelease
我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) 任何人都可以提供一个快速示例,说明如何根据片段中发生的事情更改"活动"操作栏的内容?我的意图:
普通菜单项 - >片段中的某些内容被移动 - >菜单项更改为保存/放弃按钮.
我的第一个冲动是在活动和片段中设置广播接收器以进行串扰,但我不确定这是否正确.
我正在使用此代码捕获屏幕截图并将其保存到相册中.
-(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的状态栏.相反,底部会出现一个空白区域.如下图所示:

我究竟做错了什么?
我有以下代码:
#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) 我在尝试实现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字符串?
ios ×3
android ×2
iphone ×2
objective-c ×2
autorelease ×1
c ×1
c# ×1
c++ ×1
c++11 ×1
cocoa-touch ×1
coordinates ×1
ios10 ×1
json ×1
swift ×1
uiscreen ×1
uiwindow ×1
unique-ptr ×1
visual-c++ ×1