它没有调用NSObject类

时间:2013-01-19 06:54:51

标签: ios objective-c nsobject

我创建了简单的NSObject类来获取一些值。运行和构建应用程序时,我的应用程序没有出现任何错误。我花了很多时间来运行程序。我是目标c的初学者。

代码::

#import "FibonachiNo.h"

@implementation FibonachiNo

- (NSArray *) fibonacci:(NSInteger) n {

    NSMutableArray *fib = [NSMutableArray array];

    int a = 0;
    int b = 1;
    int sum;
    int i;

    for (i=0; i<=n; i++)
    {
        [fib addObject:[NSNumber numberWithInt:a]];
        sum = a + b;
        a = b;
        b = sum;
    }

    return (NSArray *) fib;
}

- (NSInteger) factorial:(NSInteger) n {
    if ( n <= 1 )
        return 1;
    else
        return n * [self factorial:( n-1 )];
}

@end

我的应用程序标题类

#import <UIKit/UIKit.h>
#import "FibonachiNo.h"
@interface ViewController : UIViewController
@property FibonachiNo *myFibonachi;
@end

调用NSObject类的方法::

  NSLog(@"fibonacci for 10 = %@", [myFibonachi fibonacci:10]);
  NSLog(@"10! = %d",[myFibonachi factorial:10]);

这种调用方法有什么问题吗?

2 个答案:

答案 0 :(得分:0)

首先分配init你的数组

#import "FibonachiNo.h"

@implementation FibonachiNo

- (NSArray *) fibonacci:(NSInteger) n {

    NSMutableArray *fib = [NSMutableArray alloc]init];

    int a = 0;
    int b = 1;
    int sum;
    int i;

    for (i=0; i<=n; i++)
    {
        [fib addObject:[NSNumber numberWithInt:a]];
        sum = a + b;
        a = b;
        b = sum;
    }

    return fib;
}

- (NSInteger) factorial:(NSInteger) n {
    if ( n <= 1 )
        return 1;
    else
        return n * [self factorial:( n-1 )];
}

@end

调用NSObject类的方法::

ViewDidLoad中的

使用以下内容。

FibonachiNo *myFibonachi=[[FibonachiNo alloc]init];
  NSLog(@"fibonacci for 10 = %@", [myFibonachi fibonacci:10]);
  NSLog(@"10! = %d",[myFibonachi factorial:10]);

如果您仍然遇到任何问题,请在此处显示您的NSLog输出。

答案 1 :(得分:0)

尝试使用

@synthesize * myFibonachi;

在@implementation

下面的ViewController.m文件中