Я редко задаю вопросы, но этот меня расстраивает, так как я не могу найти ответ нигде!Цель C - Получить класс, чтобы вернуть значение
Мне просто нужно вызвать функцию в GameChallenges.m и вернуть значение в контроллер вида. GameChallenges.m будет вызываться разными контроллерами представлений, поэтому его отдельный. Пожалуйста помоги!
У меня есть отдельный файл класса, называемый GameChallenges.
Это имеет функцию/метод в нем: в .h
@class StatsViewController;
@interface GameChallenges : NSObject {
StatsViewController* statsController;
NSString* challengeTitle;
}
@property (nonatomic, retain) IBOutlet StatsViewController* statsController;
@property (assign) NSString* challengeTitle;
-(NSString*)checkChallenge:(int)challegeID;
@end
в ом
#import "GameChallenges.h"
#import "StatsViewController.h"
@implementation GameChallenges
@synthesize challengeTitle,statsController;
-(NSString*)checkChallenge:(int)challegeID{
if(challegeID==1){
self.challengeTitle = @"Some Text.";
return challengeTitle;
}else if(challegeID==2){
self.challengeTitle = @"Some Other Text.";
return challengeTitle;
}
}
От контроллера зрения называется StatsViewController Я зову этот метод
.h
@class GameChallenges;
@interface StatsViewController : UIViewController {
UILabel* challengeIDDescText;
}
@property (nonatomic, retain) IBOutlet UILabel* challengeIDDescText;
@property (nonatomic, retain) IBOutlet GameChallenges* challenges;
@end
в ом
[challenges checkChallenge:tempString];
challengeIDDescText.text = challenges.challengeTitle;
И в чем проблема? Я не вижу проблемы, помимо вашего нетрадиционного использования методов. –
Я не вижу вопроса в вашем вопросе. Но может возникнуть проблема с сообщением 'checkChallenge:', которое вы отправляете. Вы передаете ему что-то под названием 'tempString', которое (я подозреваю) экземпляр' NSString'. Но 'checkChallenge:' ожидает, что это параметр 'int', поэтому вы в основном ставите указатель' NSString' на 'int'. После этого нельзя ожидать правильного поведения. – hoha
@hoha @fluchtpunkt Если я упрощу это. Если в моем GameChallenges.h у меня есть: ' @class StatsViewController; @interface GameChallenges: NSObject { \t \t StatsViewController * statsController; \t int count; } - (int) initCount; @property (присваивать) int count; ' И в моем.м: '- (int) initCount { \t count = 1; счетчик возвратов; } ' Тогда в StatsViewController.m ' NSLog (@ "количество:% я", [вызовы initCount]); ' возвращает либо 0 в нуль/ноль и т.д., это просто не могу читать то, что было возвращено , Мой вопрос: может ли кто-нибудь сказать мне, как успешно вернуть значение. Спасибо –