Xcode4 未使用变量问题
我在实现文件中有以下代码:Xcode4 未使用变量问题,xcode4,Xcode4,我在实现文件中有以下代码: #import "Possession.h" @implementation Possession @synthesize possessionName,serialNumber, valueInDollars, dateCreated; + (id)randomPossession { // Create an array of three adjectives NSArray *randomAdjectiveList = [NSArray ar
#import "Possession.h"
@implementation Possession
@synthesize possessionName,serialNumber, valueInDollars, dateCreated;
+ (id)randomPossession
{
// Create an array of three adjectives
NSArray *randomAdjectiveList = [NSArray arrayWithObjects:@"Fluffy",
@"Rusty",
@"Shiny", nil];
// Create an array of three nouns
NSArray *randomNounList = [NSArray arrayWithObjects:@"Bear",
@"Spork",
@"Mac", nil];
// Get the index of a random adjective/noun from the lists
// Note: The % operator, called the modulo operator, gives
// you the remainder. So adjectiveIndex is a random number
// from 0 to 2 inclusive.
unsigned long adjectiveIndex = rand() % [randomAdjectiveList count];
unsigned long nounIndex = rand() % [randomNounList count];
NSString *randomName = [NSString stringWithFormat:@"%@ %@",
[randomAdjectiveList objectAtIndex:adjectiveIndex],
[randomNounList objectAtIndex:nounIndex]];
int randomValue = rand() % 100;
NSString *randomSerialNumber = [NSString stringWithFormat:@"%c%c%c%c",
'O' + rand() % 10,
'A' + rand() % 26,
'O' + rand() % 10,
'A' + rand() % 26,
'O' + rand() % 10];
// Once again, ignore the memory problems with this method
Possession *newPossession =
[[self alloc] initWithPossessionName:randomName
valueInDollars:randomValue
serialNumber:randomSerialNumber];
return newPossession;
return [newPossession autorelease];
}
- (id) initWithPossessionName:(NSString *)name
valueInDollars:(int)value
serialNumber:(NSString *)sNumber
{
// Call the superclass's designated initializer
[super init];
// Give the instance variables initial values
[self setPossessionName:name];
[self setSerialNumber:sNumber];
[self setValueInDollars:value];
dateCreated = [[NSDate alloc] init];
// Return the address of the newly initialized object
return self;
}
- (id) init
{
return [self initWithPossessionName:@"Possession"
valueInDollars:0
serialNumber:@""];
}
- (NSString *)description;
{
NSString *descriptionString =
[[NSString alloc] stringWithFormat:@"%@ (%@): Worth $%d, recorded on %@",
possessionName,
serialNumber,
valueInDollars,
dateCreated];
}
- (void) dealloc
{
[possessionName release];
[serialNumber release];
[dateCreated release];
[super dealloc];
}
@end
对于descriptionString,我得到一个未使用的变量错误,对于读取“dateCreated]”的行,我得到一个线程1:程序接收信号:“SIGABRT”错误,该错误打开调试器。对于紧跟其后的行,我接收到一个控件到达非void函数末尾错误
以下是头文件:
#import <Foundation/Foundation.h>
@interface Possession : NSObject {
NSString *possessionName;
NSString *serialNumber;
int valueInDollars;
NSDate *dateCreated;
}
+ (id)randomPossession;
- (id)initWithPossessionName:(NSString *)name
valueInDollars:(int)value
serialNumber:(NSString *)number;
- (id) init;
@property (nonatomic, copy) NSString *possessionName;
@property (nonatomic, copy) NSString *serialNumber;
@property (nonatomic) int valueInDollars;
@property (nonatomic, readonly) NSDate *dateCreated;
@end
#导入
@接口占用:NSObject{
NSString*占有名称;
NSString*序列号;
印度商贩;
NSDate*创建日期;
}
+(id)非法占有;
-(id)initWithOccessionName:(NSString*)名称
valueInDollars:(int)值
serialNumber:(NSString*)编号;
-(id)init;
@属性(非原子,副本)NSString*ObsessionName;
@属性(非原子,副本)NSString*序列号;
@不动产(非原子)整数估值器;
@属性(非原子,只读)NSDate*dateCreated;
@结束
以下是主文件:
#import <Foundation/Foundation.h>
#import "Possession.h"
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// Create a mutable array, store its address in items variable
NSMutableArray *items = [[NSMutableArray alloc] init];
for(int i = 0; i < 10; i++) {
Possession *p = [Possession randomPossession];
[items addObject:p];
}
for (int i = 0; i < [items count]; i++)
NSLog(@"%@", [items objectAtIndex:i]);
[items release];
// Don't leave items pointed at freed memory!
items = nil;
[pool drain];
return 0;
}
#导入
#输入“管有权.h”
int main(int argc,const char*argv[]
{
NSAutoreleasePool*池=[[NSAutoreleasePool alloc]init];
//创建一个可变数组,将其地址存储在变量items中
NSMutableArray*项=[[NSMutableArray alloc]init];
对于(int i=0;i<10;i++){
占有*p=[占有随机占有];
[项目添加对象:p];
}
对于(int i=0;i<[项目计数];i++)
NSLog(@“%@,[items objectAtIndex:i]);
[项目发布];
//不要将项目指向已释放的内存!
项目=无;
[泳池排水沟];
返回0;
}
对于描述方法
您的标题声称您有一个问题,但您所做的只是转储三大块代码,不努力隔离问题,甚至懒得问一个问题?您读过实现文件后面的这篇文章吗?“对于descriptionString,我得到一个未使用的变量错误,对于读取“dateCreated]”的行,我得到一个线程1:程序接收信号:“SIGABRT”错误,它打开调试器。对于紧跟其后的行,我收到一个控件到达非void函数错误的末尾。”