1

我创建了简单的 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]);

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

4

2 回答 2

0

首先分配初始化你的数组

#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 输出。

于 2013-01-19T07:03:03.760 回答
0

尝试使用

@synthesize *myFibonachi;

在 @implementation 下面的 ViewController.m 文件中

于 2013-01-19T09:27:16.953 回答