我使用Apple Sample Reachability中的 Apple Reachability类
在Xcode 4.2和新的Apple 3.0编译器中,我在这个类中得到警告
+ (Reachability*) reachabilityWithAddress: (const struct sockaddr_in*) hostAddress;
Run Code Online (Sandbox Code Playgroud)
'struct sockaddr_in '的声明在此函数之外将不可见*
我不擅长经典C%)所以我不明白我怎么能解决这个警告,或者可能是我可以忽略它.
谢谢
我刚开始学习Objective-C和OOP ......所以我有一个非常愚蠢的问题:)我想了解如何在Objective-C中编写递归函数.
我以阶乘计数为例.这是我的代码))他 - 他
#import <Foundation/Foundation.h>
@interface Factorial : NSObject
{
int nFact;
}
-(int) countFactorial:(int) nFact;
-(void) printFactorial;
@end //Factorial
@implementation Factorial
-(int) countFactorial:(int) n
{
int tmp;
if (n!=0)
{
tmp=n*countFactorial(n-1);
}
else {
return(0);
}
nFact=tmp;
}
-(void) printFactorial
{
NSLog(@"Factorial = %i",nFact);
}
@end //Factorial
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id myFact=[Factorial new];
int qqq=[myFact countFactorial:5];
[myFact printFactorial];
[myFact release];
[pool drain];
return 0; …
Run Code Online (Sandbox Code Playgroud) 我的YYY.h文件是
#define W 1 // i am
#define B 2 // opponent
#define F 3 // board margin
static int boardPos[12][12];
@interface YYY : NSObject
{...}
-(id)init;
@end
Run Code Online (Sandbox Code Playgroud)
和YYY.m是
#import "YYY.h"
@implementation YYY
-(id)init
{
if (self = [super init]) {
// initializing Empty Board
boardPos[12][12] = {
{F,F,F,F,F,F,F,F,F,F,F,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,F,F,F,F,F,F,F,F,F,F,F}
};
...
Run Code Online (Sandbox Code Playgroud)
我收到错误"在{token in"boardPos [12] [12] = {"string之前的预期表达式.如果我在boardPos之前写了一些内容 - 它变成了局部变量;所以我无法正确初始化这个C数组.我需要boardPos可见在类范围.我试着把它放在类声明中 - 同样的错误.
顺便说一下,我已经在NSArray对象上重写了它,但仍然很有趣如何处理C数组.
谢谢!