[英]No visible @interface for 'CompCost' declares the selector
真的很新,找不到這個問題的任何解決方案
一個
" No visible @interface for 'CompCost' declares the selector " occurs here
logicForCompCost setAmountTermin:costTermin and for the whole segment
我在另一個邏輯中有一個類似的解決方案,在這里工作正常。
郵局
#import "CompCost.h"
#import "AssEmployeeCost.h"
#import "EmplyeeCost.h"
#import "ResearchCost.h"
@implementation CompCost
-(void) AddAllCompanyCostInformation:(NSNumber *) costTermin
withTotalITCost:(NSNumber *) costIT
withTotalTeleCost:(NSNumber *) costTele
withTotalCleanCost:(NSNumber *) costClean
withTotalElCost:(NSNumber *) costEl
withTotalSuppCost:(NSNumber *) costSupp
withTotalElseCost:(NSNumber *) costElse;
{
CompCost *logicForCompCost = [[CompCost alloc]init];
[logicForCompCost setAmountTermin:costTermin];
[logicForCompCost setAmountIT:costIT];
[logicForCompCost setAmountTele:costTele];
[logicForCompCost setAmountClean:costClean];
[logicForCompCost setAmountEl:costEl];
[logicForCompCost setAmountSupp:costSupp];
[logicForCompCost setAmountElse:costElse];
if (!_totalCostComp) {
_totalCostComp = [[NSMutableArray alloc]init];
}
[_totalCostComp addObject:logicForCompCost];
}
@end
和CompCost.H
//
// CompCost.h
// Signium International
//
// Created by Simon Z. Kaczmarek on 09/12/13.
// Copyright (c) 2013 Simon Z. Kaczmarek. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface CompCost : NSObject
@property (nonatomic, strong)NSMutableArray* totalCostComp;
-(void) AddAllCompanyCostInformation:(NSNumber *) costTermin
withTotalITCost:(NSNumber *) costIT
withTotalTeleCost:(NSNumber *) costTele
withTotalCleanCost:(NSNumber *) costClean
withTotalElCost:(NSNumber *) costEl
withTotalSuppCost:(NSNumber *) costSupp
withTotalElseCost:(NSNumber *) costElse;
@end
希望有人能幫忙。 西蒙
將所有這些方法簽名添加到您的CompCost.h
:
-(void)setAmountTermin:(NSNumber*)amount;
該答案假定方法主體存在於CompCost.m
文件夾中。
編輯:我只是注意到您正在嘗試從CompCost.m
調用這些方法。 如果要將這些方法作為私有方法,則需要將它們添加到CompCost.m
,而無需將它們添加到CompCost.h
。
在此處出現邏輯“ CompCompost setAmountTermin:costTermin”和整個段的“'CompCost'的可見@interface聲明選擇器”
您的錯誤是“嘿,您正在嘗試調用一個不存在的方法。” 您需要編寫該方法。 logicForCompCost
的類型為CompCost
。 它需要一個可見的選擇器,其中包含您要調用的方法的名稱。 因為我們正在處理CompCost.m
文件,所以您可以編寫一個公共@interface
(在.h
)或一個私有@interface
(在.m
),它將清除此錯誤。 您仍然需要編寫方法主體。
另外,如果將這些內容添加為@properties
,則無需編寫方法。 例如:
@property (nonatomic, strong) NSNumber* amountTermin;
這將amountTermin
創建為amountTermin
(可以是公共@property
,也可以是私有@property
,具體取決於您的操作方式),並創建一個setAmountTermin
方法,該方法采用一個NSNumber*
並將其分配給amountTermin
並創建一個返回amountTermin
(作為NSNumber*
)的amountTermin
方法。 。 你也可以訪問amountTermin
如果您使用的是用點號@property
。
最后要注意的是……所討論的方法根本沒有意義……該實例方法創建了這種類型的新對象並添加到數組中,該數組也是該類型對象上的實例變量。 您這里遇到了一些組織問題...令人困惑,幾乎肯定會導致麻煩...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.