Это не вызов класса 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 ответа

Решение

Сначала выделите 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

Попробуйте использовать

@synthesize *myFibonachi;

в вашем файле ViewController.m ниже @implementation

Другие вопросы по тегам