小编Ada*_*eld的帖子

6
推荐指数
3
解决办法
1488
查看次数

你能在Xcode中创建每用户项目设置吗?

我在iPhone应用程序上进行协作,将项目文件(.xcodeproj目录)检入源代码控制.一个重要的设置是"代码签名身份",它指定用于签署应用程序的证书,以便它可以在iPhone上运行.

项目中的每个开发人员都有自己的代码签名标识,因此每当有人对项目进行更改时,他的代码签名标识都会保存到项目设置中,然后其他所有人都会继承该更改.然后,他们必须将其更改为CSI,然后才能继续.

有没有办法让代码签名标识保存在一些本地的每用户项目文件中,而不会被检入源代码管理?

iphone xcode code-signing

5
推荐指数
1
解决办法
976
查看次数

是否定义了更改Objective-C对象isa的行为?

在Objective-C中,您可以通过分配对象的isa成员变量来在运行时更改对象的动态类型:

id object = ...;
object->isa = [SomeClass class];
Run Code Online (Sandbox Code Playgroud)

这是未定义的行为吗?我现在正在做这个作为其他东西的kludge,它似乎工作,但我觉得这样做很脏.我设置的新类没有添加任何成员变量,它只是覆盖一个方法并添加一个新方法,因此类大小是相同的.我觉得如果我改变了对象大小,会导致很多不好.

objective-c dynamic-typing

5
推荐指数
1
解决办法
1910
查看次数

有没有办法在 Emacs 中同时启用 Objective-C 模式和 C++ 模式?

我正在处理一些 Objective-C++ 代码(.mm文件),我很好奇是否可以让 emacs 对 Objective-C 部分和 C++ 部分使用正确的语法突出显示。 objc-modec++-mode都是主要模式(构建在 之上cc-mode),因此它们不能同时使用。

是否有任何次要模式或 elisp hack 可用于同时启用 Objective-C 和 C++ 语法突出显示?

c++ emacs syntax-highlighting objective-c

5
推荐指数
1
解决办法
918
查看次数

核心数据和iPhone的NSDecimalNumber问题

我对核心数据和iphone编程很新.也许这是一个明显的答案,所以如果有人能指出我的教程或其他资源,我们非常感谢!我有一个十进制类型的核心数据实体,因为它处理货币,我读过的所有内容都说在处理货币时使用NSDecimalNumber.话虽这么说,我不能为我的生活弄清楚如何在插入新对象时设置值.这就是我所拥有的

NSManagedObjectContext *moc = [self.fetchedResultsController managedObjectContext];
Envelope *envelope = [NSEntityDescription insertNewObjectForEntityForName:@"Envelope"
                                                inManagedObjectContext:moc];
[envelope setValue:@"Envelope 1" forKey:@"name"];
NSDecimalNumber *budgetNumber = [NSDecimalNumber decimalNumberWithDecimal:1.00];
[envelope setValue:budgetNumber forKey:@"budget"];
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?提前致谢!

iphone core-data nsdecimalnumber

5
推荐指数
1
解决办法
3289
查看次数

可以通过Objective-C块捕获堆栈上的C++类实例吗?

尝试在Objective-C块中捕获堆栈上的C++类实例时,我看到了一些奇怪的行为.请考虑以下代码:

#import <Foundation/Foundation.h>
#include <stdio.h>

struct Test
{
  Test() : flag(0) { printf("%p default constructor\n", this); }
  Test(const Test& other) : flag(0) { printf("%p copy constructor\n", this); }
  ~Test() { flag = 1; printf("%p destructor\n", this); }

  int flag;
};

int main(int argc, char **argv)
{
  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

  Test test;
  void (^blk)(void) = ^(void)
    {
      printf("flag=%d (test=%p)\n", test.flag, &test);
    };
  printf("about to call blk\n");
  blk();

  [pool release];

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

可以预期,当test块捕获局部变量时blk,它具有一致的状态.但事实并非如此.此代码的输出如下:

0x7fff5fbff650 …
Run Code Online (Sandbox Code Playgroud)

c++ objective-c objective-c++ objective-c-blocks

5
推荐指数
1
解决办法
269
查看次数

打开Visual Studio 2010 Designer时,HRESULT异常:0x8CE00001

我正在尝试在Windows 7上的Visual Studio 2010中设置新的Windows窗体应用程序(C++/CLI).每次我尝试打开设计器时,它都会失败并出现这个无用的错误:

Exception from HRESULT: 0x8CE00001

Instances of this error (1)  

1.   Hide Call Stack 

at Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload) 
Run Code Online (Sandbox Code Playgroud)

如果我调试Visual Studio并打破CLR异常,它实际上首先抛出此异常:

Microsoft.VisualStudio.Design.dll中出现"System.ArgumentException"类型的第一次机会异常

附加信息:参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))

使用此调用堆栈:

>   Microsoft.VisualStudio.Design.dll!Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.VerifyNestedDocDataCompatible() + 0x15d bytes 
    Microsoft.VisualStudio.Design.dll!Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.Microsoft.VisualStudio.Designer.Interfaces.IVSMDDesignerLoader.Initialize(object pSp, object pHier, int itemid, object punkDocData) + 0xb5 bytes  
    [Native to Managed Transition]  
    vcpkg.dll!CVCFormEditorFactory::CreateEditorInstance()  + 0x2e49f bytes 
    msenv.dll!CVsUIShellOpenDocument::OpenSpecificEditor()  + 0x784 bytes   
    VCProject.dll!CVCFileNode::OpenSpecificEditor()  + 0xc6 bytes   
    VCProject.dll!CVCFileNode::OpenSpecificEditor()  + 0x3a bytes   
    VCProject.dll!CVCFileNode::DoOpenFile()  + 0x1fe bytes  
    VCProject.dll!CVCFileNode::DoDefaultAction()  + 0x5b bytes  
    VCProject.dll!CVCArchy::ExecCommand()  + …
Run Code Online (Sandbox Code Playgroud)

visual-studio-2010 visual-studio-designer

5
推荐指数
1
解决办法
8811
查看次数

从装饰器访问拥有装饰方法的类

我正在为必须检查父方法的方法编写装饰器(在我正在装饰的类的父级中使用相同名称的方法).

示例(来自PEP 318的第四个示例):

def returns(rtype):
    def check_returns(f):
        def new_f(*args, **kwds):
            result = f(*args, **kwds)
            assert isinstance(result, rtype), \
                   "return value %r does not match %s" % (result,rtype)
            return result
        new_f.func_name = f.func_name
        # here I want to reach the class owning the decorated method f,
        # it should give me the class A
        return new_f
    return check_returns

class A(object):
    @returns(int)
    def compute(self, value):
        return value * 3
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找代码#代替我想要的代码......

谢谢.

python decorator

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

读取字符串和整数

我想要做的是从文本文件中读取一行,其中包含一个长度<= 20且两个整数的双字符串,例如它可能如下所示:

Name Surname 1 14
Run Code Online (Sandbox Code Playgroud)

我知道如果我读取字符串,字符串将是所有字符,直到空格,但getline()将整行读作字符串.那我怎么读这样的一行呢?有没有简单的方法,或者我将不得不使用正则表达式?

c++

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

LNK2013错误"fixup overflow"

我有一个用c ++编写的Windows 8 metro应用程序,我正在尝试编译到ARM.在链接期间,我收到以下错误的许多实例:

"error LNK2013: BLX23(T) fixup overflow.  Target '<mangledName>' is out of range"
Run Code Online (Sandbox Code Playgroud)

MSDN网站上说:"你可以通过创建多个图像或通过这样的指令和目标靠得更近使用/ ORDER选项来解决这个问题."

但我真的不明白如何做到这一点.有问题的符号是编译器生成的,并且没有涉及Itanium体系结构,因此该页面上的其他建议不适用.此外,有错误的文件是*.g.cpp文件,由编译器从项目中包含的xaml页面生成.

metro应用程序在Win32配置上运行得很好,所以我想知道在ARM上有更多经验的人是否可以更好地了解如何解决这类问题.

该设置是Windows 8 RP x64上的Visual Studio 2012 RC.

c++ arm microsoft-metro windows-runtime winrt-xaml

4
推荐指数
1
解决办法
2653
查看次数