问题列表 - 第49974页

NSPredicate使用获取请求返回无结果,适用于阵列过滤

我的情况很简单:我的核心数据存储中有一些记录.它们的一个属性是名为"localId"的字符串.有一点,我想找到具有特定localId值的记录.显而易见的方法是使用NSFetchRequest和NSPredicate.但是,当我设置它时,请求返回零记录.

但是,如果我使用不带谓词的获取请求,返回所有记录,只是遍历它们寻找目标localId值,我确实找到了我正在寻找的记录.换句话说,记录在那里,但是获取请求找不到它.

我使用获取请求和谓词的其他方法都按预期工作.我不知道为什么这个失败了.

我想做这个:

- (void)deleteResultWithLocalID:(NSString *)localId {
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    [request setEntity:[NSEntityDescription entityForName:@"WCAAssessmentResult" inManagedObjectContext:context]];
    [request setPredicate:[NSPredicate predicateWithFormat:@"localId == %@", localId]];
    NSError *error = nil;
    NSArray *results = [context executeFetchRequest:request error:&error];
    NSAssert(error == nil, ([NSString stringWithFormat:@"Error: %@", error]));
    if ([results count]) [context deleteObject:[results objectAtIndex:0]];
    else NSLog(@"could not find record with localID %@", localId);
    [self saveContext];
}
Run Code Online (Sandbox Code Playgroud)

但我最终不得不这样做:

- (void)deleteResultWithLocalID:(NSString *)localId {
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    [request setEntity:[NSEntityDescription entityForName:@"WCAAssessmentResult" inManagedObjectContext:context]];
    NSError *error = nil;
    NSArray *results …
Run Code Online (Sandbox Code Playgroud)

core-data nspredicate nsfetchrequest ios

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

如何使数据成员只能访问类和子类

可能重复:
为什么Java中没有子类可见性修饰符?

Java的访问级别表显示了4种不同的选项,用于控制对类成员的访问:

Modifier    Class  Package Subclass World
public      Y      Y       Y        Y
protected   Y      Y       Y        N
no modifier Y      Y       N        N
private     Y      N       N        N
Run Code Online (Sandbox Code Playgroud)

但是,对于"仅对类和子类可访问",没有修饰符.那是:

Modifier    Class  Package Subclass World
c++prot     Y      N       Y        N
Run Code Online (Sandbox Code Playgroud)

是否有可能在Java中定义这样的访问级别?

如果是这样,怎么样?

如果不可能,这必须归功于深思熟虑的设计原则.如果是这样,那个原则是什么.换句话说,为什么在Java中使用这样的访问级别不是一个好主意?

java

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

保持wcf回调通道无限期打开/如果发生故障则从客户端重新连接

我正在尝试设置这样的东西:

  • 服务器端Windows wcf服务挂起并通过tcp侦听来自客户端Windows服务的连接.
  • 当收到连接(客户端调用服务上的CheckIn方法)时,服务通过OperationContext.Current.GetCallbackChannel <T>获取回调通道
  • 此通道与唯一键一起存储在集合中(具体来说,我将回调接口,通道和密钥存储在List <ClientConnection>中,其中每个都是属性)
  • 现在应该能够根据所述唯一密钥将调用传递给该客户端服务

这首先工作,但一段时间后停止 - 我不再能够将呼叫传递给客户端.我假设它是因为连接已被内部删除,我正在尝试使用死连接.

记住,我有以下问题:

  • 我如何告诉wcf我想无限期地(或尽可能长)保持这些tcp连接?
  • 我如何从客户端检查我与服务器的连接是否仍然有效,以便我可以丢弃它,如果我的连接被炒断,请再次检查服务器?

我可以想到狡猾的解决方案,但我希望有人会告诉我正确的方法.

wcf distributed tcp publish-subscribe .net-3.5

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

比较表达式<T>

可能重复:
C#:检查两个Expression <Func <T,bool >>是否相同

我有一堆Expression<Func<T, bool>>谓词,我想比较它们的平等性.有没有办法做到这一点?

背景:我的库将项目排序为"bins",由谓词是否返回true来控制.如果调用者想要创建一个新的bin,我想看看bin是否已经存在.

.net expression-trees

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

如何连接到新安装的Oracle XE实例?

我在Win7 x64机器上安装了Oracle XE.安装成功完成没有问题,或者安装程序没有告诉他们.但安装后我无法连接到数据库; 它的网络界面不起作用.我查看了开放端口列表,并且没有安装过程中注意到的8080端口.我也无法通过SQLPlus连接.

SQL> connect SYSTEM
Enter password:
ERROR:
ORA-12638: Credential retrieval failed
Run Code Online (Sandbox Code Playgroud)

在网络的某个地方,它被告知编辑sqlnet.ora文件,我已经通过以下方式更改了它:

# SQLNET.AUTHENTICATION_SERVICES = (NTS)
SQLNET.AUTHENTICATION_SERVICES = (NONE)
Run Code Online (Sandbox Code Playgroud)

现在我得到下一个错误

SQL> connect SYSTEM
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能连接到它?

oracle oracle-xe oracle10g

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

VS2010:如何在使用继承的用户控件时避免Windows窗体设计器问题?

问题:当基类从另一个程序集实现接口时,Windows窗体设计器不适用于继承的用户控件.

平台:VS 2010 SP1,.NET 4.0 Framework

错误:

无法为此文件显示设计器,因为其中的所有类都无法设计.设计者检查了文件中的以下类:MyControl ---无法加载基类'MyBaseControlLib.MyBaseControl'.确保已引用程序集并且已构建所有项目.

在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)的System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)的System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)中在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

我有一个包含3个类库项目的解决方案:

MyInterfaceLib:

namespace MyInterfaceLib
{
    public interface IMyInterface
    {
        void Foo();
    }
}
Run Code Online (Sandbox Code Playgroud)

MyBaseControlLib:

namespace MyBaseControlLib
{
    using System.Windows.Forms;
    using MyInterfaceLib;

    public partial class MyBaseControl : UserControl, IMyInterface
    {
        public MyBaseControl()
        {
            InitializeComponent();
        }

        public void Foo()
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyDerivedLib:

namespace MyDerivedControlLib
{
    using MyBaseControlLib;

    public partial class MyControl : MyBaseControl
    {
        public MyControl()
        {
            InitializeComponent();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然设计师适用于MyBaseControl但它不适用于MyControl.如果MyBaseControl没有实现IMyInterface,那么设计器也适用于MyControl.

有任何想法吗?

谢谢,罗伯特

designer visual-studio-2010 winforms

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

更改fortran中的数组维度

基本上有两种方法可以将数组传递给Fortran 90/95中的子程序:

PROGRAM ARRAY
INTEGER, ALLOCATABLE :: A(:,:)
INTEGER :: N
ALLOCATE(A(N,N))
CALL ARRAY_EXPLICIT(A,N)
! or
CALL ARRAY_ASSUMED(A)
END PROGRAM ARRAY

SUBROUTINE ARRAY_EXPLICIT(A,N)
INTEGER :: N
INTEGER :: A(N,N)
! bla bla
END SUBROUTINE ARRAY_EXPLICIT

SUBROUTINE ARRAY_ASSUMED(A)
INTEGER, ALLOCATABLE :: A(:,:)
N=SIZE(A,1)
! bla bla
END SUBROUTINE ARRAY_ASSUMED
Run Code Online (Sandbox Code Playgroud)

您需要第二个显式接口,通常是通过使用模块.

从FORTRAN77开始,我习惯了第一种选择,如果你传递整个数组,我认为这也是最有效的.

显式形状的好处是我也可以调用子例程并将数组视为向量而不是矩阵:

SUBROUTINE ARRAY_EXPLICIT(A,N)
INTEGER :: N
INTEGER :: A(N**2)
! bla bla
END SUBROUTINE ARRAY_EXPLICIT
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种很好的方法来使用第二个假定的形状界面来做这种事情而不复制它.

fortran

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

复合主键为什么还在?

我被分配将数据库迁移到中产阶级ERP.新系统在这里和那里使用复合主键,从实用的角度来看,为什么?

与自动生成的ID相比,我只能看到消极方面;

  • 外键变得模糊
  • 更难迁移或db-redesigns
  • 商业变革不灵活.(我的车没有注册表...)
  • 通过约束更好地实现相同的完整

它正在回归到候选键的设计概念,我没有看到它的意义.

它是软盘日的习惯/神器(最小化空间/索引),还是我错过了什么?

//编辑//刚发现好的SO帖子:复合主键与唯一对象ID字段 //

mysql sql-server database-design

58
推荐指数
6
解决办法
7847
查看次数

PHP错误,if语句

什么拧这个代码?

if(isset($this->session->flashdata('login_error'))) {      // Line 39
     echo "You entered an incorrect email or password!";
}
Run Code Online (Sandbox Code Playgroud)

我使用Codeigniter并加载会话autoload.php.

我得到的错误信息是:

致命错误:无法在第39行的/Applications/XAMPP/xamppfiles/htdocs/application/views/login_view.php中的写入上下文中使用方法返回值

php if-statement codeigniter

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

从jQuery中的复选框获取所有者表单

有没有一种简单的方法在jQuery中返回一个深层嵌套的复选框(或输入)元素的所有者表单?这是我的意思的一个例子:

<form>
    <table>
        <thead>
            <tr>
                <td>123</td>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <td><input type="checkbox" class="checkall" /></td>
            </tr>
        </tfoot>
    </table>
</form>
Run Code Online (Sandbox Code Playgroud)

然后我有以下jQuery代码:

$('checkbox.checkall').each(function() { 
    // Access form element of the checkbox here
});
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我想获取复选框所属的表单.从本质上讲,我可以使用链式parent()方法执行此操作,但复选框可能并不总是与根表单元素的嵌套深度相同.

对不起,如果不清楚,但很难解释.

html javascript jquery

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