小编oka*_*ami的帖子

获取NSNumber的类型

我想获得NSNumber实例的类型.

我在http://www.cocoadev.com/index.pl?NSNumber上发现了这个:

 NSNumber *myNum = [[NSNumber alloc] initWithBool:TRUE];

 if ([[myNum className] isEqualToString:@"NSCFNumber"]) {
  // process NSNumber as integer
 } else if  ([[myNum className] isEqualToString:@"NSCFBoolean"]) {
  // process NSNumber as boolean
 }

好的,但这不起作用,编译器无法识别[myNum className].我正在为iPhone编译.

objective-c nsnumber

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

如何使用MySQL在外键中插入值?

我只有这两个表:

TAB_TEACHER
- id_teacher   // primary key, autoincrement
- name_teacher // a varchar

TAB_STUDENT
- id_student    // primary key, autoincrement
- name_student  // a varchar
- id_teacher_fk // foreign key reference to a teacher (TAB_TEACHER)
Run Code Online (Sandbox Code Playgroud)

我想知道如何插入这两种情况:

案例1 - 使用预先存在的教师插入新学生,因此我必须使用教师姓名获取外键

案例2 - 使用新教师插入新学生(我正在创建学生的同时创建的老师)

mysql foreign-keys insert

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

我可以在不使用虚函数的情况下获得多态行为吗?

由于我的设备,我无法使用虚拟功能.假设我有:

class Base
{
    void doSomething() { }
};

class Derived : public Base
{
    void doSomething() { }
};

// in any place
{
    Base *obj = new Derived;
    obj->doSomething();
}
Run Code Online (Sandbox Code Playgroud)

obj->doSomething()将调用只是Base::doSomething()

有没有一种方法Base *obj,来调用doSomethingDerived

我知道我可以只是把virtual之前doSomething()Base它解决的问题,但我通过我的设备的限制,编译器不支持它.

c++ polymorphism virtual overriding function

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

在NSThread问题上调用带有两个参数的选择器

我想用多个参数创建一个Thread.可能吗?我有这个功能:

-(void) loginWithUser:(NSString *) user password:(NSString *) password {
}

我想将此函数称为选择器:


[NSThread detachNewThreadSelector:@selector(loginWithUser:user:password:) toTarget:self withObject:@"someusername" withObject:@"somepassword"]; // this is wrong


如何在这个detachNewThreadSelect函数上传递onObject参数的两个参数?

可能吗?

iphone objective-c nsthread

15
推荐指数
2
解决办法
8093
查看次数

@protocol扩展了@protocol

@protocol可以扩展@protocol吗?

@protocol Prot1 : Prot2
@end
Run Code Online (Sandbox Code Playgroud)

喜欢在java中:

public interface Interface1 extends Interface2 {
}
Run Code Online (Sandbox Code Playgroud)

protocols objective-c

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

数组从Delphi 5.0 Pascal中的0或1开始?

我想在Delphi 5.0中做一个ArrayList.所以我找到了这个代码的解决方案:

var arr: array of String;
Run Code Online (Sandbox Code Playgroud)

好的,但每次我添加的东西我都这样做:

var
    Form1: TForm1;
    var arr : array of String;

procedure TForm1.Button1Click(Sender: TObject);
var aux :string;
var len:integer;
begin
    len := Length(arr) + 1;
    SetLength(arr, len);
    arr[len-1] := 'abc' + IntToStr(len);
    Button1.Caption := arr[len-1]; // just to writeout something
end;
Run Code Online (Sandbox Code Playgroud)

我是一名C++程序员,我对Pascal一无所知.我总是听说Pascal索引从1开始,而不是0.在上面的过程中我做arr [len-1]因为0索引开始.

有没有比Pascal数组更好的方法?和C++一样std::vector吗?

arrays delphi pascal

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

使用dynamic_cast转换const类

我想投这个:

class Base 
{
public:
    virtual ~Base(){};
};
class Der : public Base {};

int main()
{
    const Base* base = new Der;
    Der* der = dynamic_cast<Der*>(base); // Error

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

我该怎么办?我试图把:const Der* der = dynamic_cast<Der*>(base);保留const但这不起作用.

c++ dynamic-cast const

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

如何使用带有类的模板

使用此代码(只是一类测试):

typedef unsigned short UInt16;

template<class T>
class CClass
{
public:
    SValue* getNewSValue(void);
private:
    typedef struct {
        T *mValue;
        T *next;
        T *previous;
        UInt16 index;
    } SValue;
};

template<typename T>
SValue* CClass<T>::getNewSValue(void)
{
    return new SValue;
}
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

错误C2143:语法错误:缺少';' 在'*'之前

错误C4430:缺少类型说明符 - 假定为int.注意:C++不支持default-int

是否可以在类中使用Struct?如果我从类中声明结构,则模板不会看到模板T.

c++ templates struct

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

Java:如何将二进制值的字符串转换为Float,反之亦然?

如何将12345.12346f的浮点值转换为二进制值的字符串,即"0011010101010101",反之亦然?

java floating-point bytearray type-conversion

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

这会产生内存泄漏吗?

void aFunction_2()
{
    char* c = new char[10];
    c = "abcefgh";
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 将:c = "abdefgh"存储在new char[10]

  2. 如果c = "abcdefgh"是另一个内存区域我应该解除它吗?

  3. 如果我想保存信息,char[10]我会使用一个函数strcpy来将信息放入char[10]

c++ string memory-leaks memory-management

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