小编Gre*_*reg的帖子

变量名前面的@符号在C#中是什么意思?

可能重复:
C#中变量名中@字符的用法/含义是什么?

我知道可以在字符串文字之前使用@符号来更改编译器解析字符串的方式.但是,当变量名称以@符号为前缀时,它意味着什么?

c#

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

如何在Swift 3中记录函数闭包参数的参数?

在Xcode 8 beta和Swift 3中,当你有一个将闭包作为参数的方法时,例如:

func foo(bar: (String) -> Void) {
    bar("Hello, world")
}
Run Code Online (Sandbox Code Playgroud)

如何记录闭包所需的参数?例如,如果我写了这个:

/// Calls bar with "Hello, world"
/// - parameter bar: A closure to call
func foo(bar: (String) -> Void) {
    bar("Hello, world")
}
Run Code Online (Sandbox Code Playgroud)

然后快速帮助看起来像这样:

foo(bar :)快速帮助

我想知道什么语法可以让我写一些文字来取代"没有描述".非常感谢!

markup xcode swift

60
推荐指数
2
解决办法
9142
查看次数

如何模拟在后台被杀的应用?

我正在尝试验证我的应用程序(App1)在启动另一个应用程序(App2)后被系统关闭时表现正常.有没有办法模拟或强制这种行为?

在App1运行时,告诉模拟器模拟内存警告,在App1返回前台之前不会做任何事情.从调试器中杀死App1会模拟相同的app事件序列吗?

编辑:我的应用程序在启动第二个应用程序来处理文件时被置于后台.第二个应用程序然后重新启动我的应用程序,我正在尝试验证我的应用程序在第二个应用程序执行时关闭系统时行为正常.

ios ios-simulator

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

无法设置IHTMLEventObj2 :: fromElement

我正在尝试在Internet Explorer扩展中生成合成Javascript事件,并且我无法获取fromElement属性.这是我的代码的摘录:

MsHtml.IHTMLDocument4 doc4 = ... // the document object
Object o = null;
MsHtml.IHTMLEventObj2 eObj = 
    (MsHtml.IHTMLEventObj2)doc4.CreateEventObject(ref o);

// string that specifies the from element, e.g. "document.getElementById('id1')":
string locator = ... 
object from = doc4.Script.GetType().InvokeMember("eval", 
                                                 BindingFlags.InvokeMethod, 
                                                 null, 
                                                 doc4.Script, 
                                                 new object[] { locator });

// from now holds a ref to an object that implements the IHTMLElement interface
eObj.fromElement = from;
IHTMLElement el = eObj.fromElement;
// el == null
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?eObj.fromElement应该等于from,但它似乎没有设置.

javascript c# internet-explorer mshtml

33
推荐指数
1
解决办法
1330
查看次数

是否可以将程序集标记为已弃用?

当用户编译引用我们计划删除的程序集的代码时,我想生成一条警告消息.这个程序集的内容已经与另一个合并了,我想鼓励用户停止引用旧程序集.

不幸的是,看起来ObsoleteAttribute对程序集无效.在构建引用程序集的项目时,有没有其他方法可以导致编译器警告?

谢谢.

编辑:为了澄清,这是在合并之前和之后组件的样子

合并前:

Assembly1:
namespace A.B.C {
    class C1
    ...
}

Assembly2:
namespace A.B.D {
    class D1
    ...
}
Run Code Online (Sandbox Code Playgroud)

合并后:

Assembly1:
(empty)

Assembly2:
namespace A.B.C {
    class C1
    ...
}

namespace A.B.D {
    class D1
    ...
}
Run Code Online (Sandbox Code Playgroud)

在合并之前,用户引用了Assembly1和Assembly2.在合并之后,他们只需要引用Assembly2,但我宁愿产生一个警告,即Assembly1不再需要通过立即删除Assembly1来破坏它们的构建.

听起来我应该使用类型转发器来确保已经针对这些程序集构建的程序继续工作而不需要重新编译,但我不想在Assembly1中留下存根类只是为了将程序集标记为过时.

.net c#

30
推荐指数
2
解决办法
2337
查看次数

如何在没有私钥的情况下创建.p12或.pfx文件?

我正在尝试创建一个不包含有效身份(公钥/私钥对)的.p12文件,以便测试我的应用程序的证书导入功能.是否可以使用该openssl工具执行此操作?

我试过了

openssl pkcs12 -in client-certonly.pem -export -out client-certonly.p12
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

unable to load private key
471:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/pem/pem_lib.c:648:Expecting: ANY PRIVATE KEY
Run Code Online (Sandbox Code Playgroud)

如果无法做到这一点openssl,我可以使用另一种工具吗?

openssl pkcs#12

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

如何对Core Data迁移进行单元测试?

我正在使用自定义实体迁移策略为我的迁移构建映射模型,我真的想为此迁移构建一些单元测试.当我运行应用程序时,迁移似乎正常工作,但当我通过单元测试运行迁移时,根本不会调用我的NSEntityMigrationPolicy子类方法.

我正在使用Xcode的内置OCUnit框架.

我的测试代码:

- (void)test1to2Migration_appIdentifierMoved {
  [self createVersion1Store];

  // TODO Perform migration
  NSManagedObjectModel *version1Model = [self version1Model];
  NSManagedObjectModel *version2Model = [self version2Model];

  NSError *error = nil;
  NSMappingModel *mappingModel = [NSMappingModel
      inferredMappingModelForSourceModel:version1Model
      destinationModel:version2Model error:&error];
  STAssertNotNil(mappingModel, @"Error finding mapping model: %@", error);

  NSMigrationManager *migrationManager =
      [[[NSMigrationManager alloc]
        initWithSourceModel:version1Model
        destinationModel:version2Model]
       autorelease];

  BOOL migrationSucceeded =
      [migrationManager migrateStoreFromURL:self.version1StoreURL
           type:NSSQLiteStoreType
           options:nil
           withMappingModel:mappingModel
           toDestinationURL:self.version2StoreURL
           destinationType:NSSQLiteStoreType
           destinationOptions:nil
           error:&error];
  STAssertTrue(migrationSucceeded, @"Error migrating store: %@", error);

  // TODO Verify appIdentifier is moved from Project to its Tests

  [self deleteTempStores];
} …
Run Code Online (Sandbox Code Playgroud)

unit-testing core-data ocunit core-data-migration ios

16
推荐指数
2
解决办法
1740
查看次数

如何使autolayout覆盖UIImageView的内在大小?

我遇到了自动布局的问题,我的详细信息视图在UISplitViewController.我的视图层次结构包含UIImageView带有装饰元素的视图,图像视图的内在大小似乎搞砸了其余控件的布局.

这些是我为图像视图指定的约束:

H:[UIImageView:0xc83ba90]-(NSSpace(20))-|
H:|-(NSSpace(20))-[UIImageView:0xc83ba90]
UIImageView:0xc83ba90.bottom == UITextField:0xc83d2d0.bottom
V:[UIImageView:0xc83ba90 (3)]>,
H:[UIImageView:0xc83ba90 (532)] Hug:1 CompressionResistance:750
V:[UIImageView:0xc83ba90 (2)] Hug:250 CompressionResistance:750
Run Code Online (Sandbox Code Playgroud)

我想要的行为是调整图像视图的大小以填充其超级视图,如前两个约束所述.我看到的实际行为是图像视图仅占用由其内在大小约束描述的水平空间.它似乎也在改变其所有兄弟视图的布局,就好像superview只是在与图像视图一样宽的矩形中布局视图.

我认为指定图像视图的拥抱优先级尽可能低会让其他约束覆盖它以调整图像视图的大小.我在这做错了什么?

uiimageview uisplitviewcontroller ios autolayout

15
推荐指数
1
解决办法
2427
查看次数

Chrome扩展内容脚本可以访问window.opener吗?

在我的扩展程序中,我正在尝试确定是否将新选项卡创建为另一个选项卡的弹出窗口,如果是,则选择哪个选项卡.

我以为我可以使用内容脚本中的window.opener来帮助解决这个问题.但看起来window.opener在内容脚本中无法正常工作.

当我手动创建选项卡时,它的window.opener按预期为null.

当选项卡被另一个选项卡创建为弹出窗口时,其window.opener未定义.我可以从中推断出选项卡是作为弹出窗口创建的,但我无法用它来确定哪个选项卡创建了新选项卡.

这是一个已知的问题,有没有人知道任何变通方法?

javascript google-chrome google-chrome-extension

8
推荐指数
1
解决办法
7876
查看次数

为什么Gradle只包含我的库中具有项目依赖性的类

我正在构建一个依赖于自定义库的Android应用程序,Gradle只在我使用项目依赖项时才愿意包含我的自定义库,而不是在我使用文件依赖项来包含库的jar文件时.我正在使用API​​ levee 19 SDK构建我的应用程序和库.

失败的dependencies部分来自build.gradle:

dependencies {
  compile 'com.android.support:appcompat-v7:+'
  compile files('libs/MyLibrary.jar')
}
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的dependencies部分,MyLibrary.jar中的类都不包含在构建apk文件中,通过提取其classes.dex和运行dexdump进行验证.我还验证了所有类都存在于我正在使用的jar文件中.

如果我使用以下dependencies部分,那么MyLibrary中的所有类都包含在apk文件中:

dependencies {
  compile 'com.android.support:appcompat-v7:+'
  compile project(':MyLibrary')
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Android Studio 0.4.0,Gradle 1.9,我认为Gradle插件是0.7.1.

这里发生了什么?我真的想用API级别18 sdk构建我的应用程序以测试兼容性,但除非我能够将jar文件用于我的库,否则我无法工作.

java android gradle android-studio

8
推荐指数
1
解决办法
4970
查看次数