小编Dmi*_*sky的帖子

获取CoreCLR中的可用类型

这很容易获得旧.NET中的所有可用类型(例如某些接口),但我无法在新的CoreCLR中找到如何做到这一点的方法.

我想要做的是拥有像GetRepository这样的函数,它应该查找IRepository的现有实现并返回该类型的新实例.实施将位于不同的项目中.

所以,在.NET中我可以使用这样的东西:

AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes())
Run Code Online (Sandbox Code Playgroud)

我现在对CoreCLR唯一的解决方案是:

public T GetRepository<T>()
{
  foreach (Type type in typeof(T).GetTypeInfo().Assembly.GetTypes())
    if (typeof(T).IsAssignableFrom(type) && type.GetTypeInfo().IsClass)
      return (T)Activator.CreateInstance(type);

  return default(T);
}
Run Code Online (Sandbox Code Playgroud)

但它只有在接口和实现位于同一个程序集中时才有效(这不是我的情况).

谢谢!

c# coreclr dnx

12
推荐指数
1
解决办法
3309
查看次数

这个类不再是关键值的密钥值编码

我的项目中有一个实体的详细信息屏幕(实际上是'照片'),可以有评论.如果是,则屏幕显示最近的3和"查看全部"按钮.问题是如何显示3条评论.(在Android上我只是使用LinearLayout.)TableView不适合,因为我可以看到(由于有静态高度),所以我决定创建我的自定义模板/部分视图CommentView并将其添加到scrollView为每个注释.

我创建了带有视图的XIB文件和一些子控件(用户照片,用户名,日期,文本).另外,我创建了从UIView提供的类CommentView.文件的所有者设置为CommentView.顶级视图的类也设置为CommentView(我尝试了各种组合).我从顶级视图(vContent)和所有子视图创建了插座.

这是CommentView.h:

@interface CommentView : UIView

@property (strong, nonatomic) IBOutlet CommentView *vContent;
@property (weak, nonatomic) IBOutlet UIImageView *ivUserPhoto;
@property (weak, nonatomic) IBOutlet UILabel *lUserName;
@property (weak, nonatomic) IBOutlet UILabel *lCreated;
@property (weak, nonatomic) IBOutlet UILabel *lText;


@end
Run Code Online (Sandbox Code Playgroud)

这是CommentView.m:

#import "CommentView.h"

@implementation CommentView

-(void)awakeFromNib {
    [[NSBundle mainBundle] loadNibNamed:@"CommentView" owner:self options:nil];
    [self addSubview: self.vContent];
}

@end
Run Code Online (Sandbox Code Playgroud)

然后我尝试在实体的视图中添加注释,并从问题标题中获得该错误.这不是我第一次得到它,但现在我真的不知道问题是什么......

此行发生错误(我从PhotoViewController调用它):

CommentView *commentView = [[[NSBundle mainBundle] loadNibNamed:@"CommentView" owner:self options:nil]objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

全文:'[setValue:forUndefinedKey:]:此类与密钥ivUserPhoto不符合密钥值编码.

我真的很感谢你的帮助!谢谢!

ios ios7

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

GPPSignIn sharedInstance - > EXC_BAD_ACCESS(code = EXC_I386_GPFLT)

似乎很长一段时间一切都很好,昨天没有任何可见的原因我开始出错

EXC_BAD_ACCESS (code = EXC_I386_GPFLT) 
Run Code Online (Sandbox Code Playgroud)

在模拟器的下一行(在真实设备上一切正常):

GPPSignIn *signIn = [GPPSignIn sharedInstance];
Run Code Online (Sandbox Code Playgroud)

启用NSZombie消息后更改为

exc_breakpoint (code=exc_i386_bpt subcode=0x0).

这很奇怪,因为即使这行只是viewDidLoad中的一行而且它是应用程序中的第一个视图控制器,我会一次又一次地得到错误(〜每3-4个应用程序启动).我没有对应用配置进行任何更改.

我将不胜感激任何帮助.谢谢!

UPD:发生错误 libobjc.A.dylib

我所看到的.

UPD: 在此输入图像描述

UPD:

2014-03-31 13:54:13.611 SomeApp[450:3c07] *** -[CFString retain]: message sent to deallocated instance 0x10c2ef050
(lldb) bt
* thread #6: tid = 0x2a3b, 0x0000000103978cc4 CoreFoundation`___forwarding___ + 772, queue = 'NSOperationQueue 0x10ea2b870', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
  * frame #0: 0x0000000103978cc4 CoreFoundation`___forwarding___ + 772
    frame #1: 0x0000000103978938 CoreFoundation`__forwarding_prep_0___ + 120
    frame #2: 0x00000001039fb3c7 CoreFoundation`+[__NSArrayI __new:::] + 87
    frame #3: 0x000000010395d386 …
Run Code Online (Sandbox Code Playgroud)

nszombie ios google-plus

6
推荐指数
1
解决办法
2178
查看次数

ScrollView无法在iOS7中使用AutoLayout

今天我花了几个小时但仍然没有答案很简单(我认为应该是这样)问题:如何在iOS7中使用自动布局功能进行任何可滚动的操作.我将ScrollView添加到View中(我正在使用Storyboard).然后我在这个ScrollView中添加了多行标签.然后我尝试了所有我能在互联网上找到但没有运气的东西.文字不滚动.这让我很伤心,伙计们:(((请帮我一下,也许还有一些简单的代码片段.

谢谢!

ios ios7

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

getChildFragmentManager> beginTransaction> replace> commit:no result

我主要活动只有ViewPager.第一个标签页片段包含:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llEventsTabPage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
    android:id="@+id/lvEvents"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想在用户点击ListView中的项目时显示详细信息片段:

lvEvents.setAdapter(adapter);
lvEvents.setOnItemClickListener(
            new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {                     
                    Fragment eventFragment = new EventFragment();
                    FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();

                    fragmentTransaction.addToBackStack(null);
                    fragmentTransaction.replace(R.id.llEventsTabPage, eventFragment);
                    fragmentTransaction.commit();
                }
            }
        );
Run Code Online (Sandbox Code Playgroud)

代码'fragmentTransaction.commit();' 被调用,调用EventFragment的onCreateView,但在'fragmentTransaction.commit();'之后 什么都没发生.没有错误,没有结果.只是列表视图仍然显示和工作.

我究竟做错了什么?我找到了一些例子,我的代码看起来一样,但没有用,我对此无能为力.

谢谢!

android android-fragments android-viewpager

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