Недавно я пишу простую статическую библиотеку для себя.Он включает в себя некоторые элементы управления пользовательским интерфейсом, макросы и дополнения к классу касания какао, но с моим кодом что-то не так, и я не знаю, как его решить.
Я сделал следующие шаги:
- создайте проект статической библиотеки Cocoa Touch с именем Orange, просто для теста.
- добавьте подкласс NSObject с именем MyMath, реализуйте код.
- добавьте 2 файла для добавления NSArray, реализуйте код.
переместить каталог проекта в "/".
создать оконное приложение с именем TestOrange.
- перетащить Orange.xcodeproj в TestOrange.
- установить пути поиска заголовка равным "/ Orange / Orange"
- установить фазы сборки, как показано на рисунке ниже.
, когда я запускаю TestOrange, он может распечатать результат MyMath, но сразу же потерпит крах.
MyMath может работать, но NSArrayAdditions не может работать.Я думаю, что с NSArrayAdditions что-то не так.
кто-нибудь сталкивался с этой проблемой раньше?Помогите мне, пожалуйста.
заранее спасибо.
весь код указан здесь.MyMath
@interface MyMath : NSObject {
}
- (NSNumber*)AddA:(int)a B:(int)b;
@end
@implementation MyMath
- (NSNumber*)AddA:(int)a B:(int)b {
return [NSNumber numberWithInt:a+b];
}
@end
NSArrayAdditions
@interface NSArray (Additions)
- (NSNumber*)Double:(int)a;
@end
@implementation NSArray (Additions)
- (NSNumber*)Double:(int)a {
return [NSNumber numberWithInt:2*a];
}
@end
использование libOrange
#import "TestOrangeAppDelegate.h"
#import "MyMath.h"
#import "NSArrayAdditions.h"
@implementation TestOrangeAppDelegate
@synthesize window=_window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
MyMath *mm = [[MyMath alloc] init];
NSLog(@"%@", [mm AddA:12 B:23]);
[mm release];
NSArray *ary = [[NSArray alloc] init];
NSLog(@"%@", [ary Double:13]);
[ary release];
[self.window makeKeyAndVisible];
return YES;
}
@end