Я работаю над консольным приложением, которое является дорожками различные песни. Я работаю над подъемом класса песни от земли сначала и столкнулся с препятствием, пытающимся зарегистрировать nsnumber, который был выделен на время песни в nslog оператор:
//
// Song.h
// MusicCollection.15.9
//
// Created by Nicholas Iannone on 1/11/10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Song : NSObject {
NSString *songTitle;
NSString *songArtist;
NSString *songAlbum;
NSNumber *SongDuration;
}
@property (nonatomic, retain) NSString *songTitle, *songArtist, *songAlbum;
@property (nonatomic, retain) NSNumber *SongDuration;
-(id) init;
-(void) printSong;
@end
//
// Song.m
// MusicCollection.15.9
//
// Created by Nicholas Iannone on 1/11/10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import "Song.h"
@implementation Song
@synthesize songTitle, songArtist, songAlbum;
@synthesize SongDuration;
-(id) init
{
if (self = [super init]) {
[SongDuration numberWithInteger];
}
-(void) printSong
{
NSLog(@"===============Song Info==================");
NSLog (@"| |");
NSLog (@"| %-31s |", [songTitle UTF8String]);
NSLog (@"| %-31s |", [songArtist UTF8String]);
NSLog (@"| %-31s |", [songAlbum UTF8String]);
NSLog (@"| %31@ |" [self songDuration]);
NSLog (@"| |");
NSLog (@"| |");
NSLog (@"=========================================");
}
@end
В основном я не уверен, как включить nsnumber в nslog оператор, когда метод печати называют, плюс я не действительно уверен, как иметь дело с этими nsobjects ingeneral, они кажутся видом промежутка объект, который я создал бы и тип c. Любое разъяснение по поводу того, как обработать их, ценилось бы.
Спасибо,
Nick
Чтобы вставить описание объекта в строку формата, используйте % @
.
Вы также можете сделать это с вашим титульным / артистом / альбомом NSStrings, поэтому вам не нужно звонить -UTF8STRING
на них первым.
Для вашей длительности песни вы можете либо войти в систему NSNUMPOUR напрямую или регистрировать поплавок или целочисленное представление по вызову -FLOOTVALUE
или -IntegerValue
и ввода в систему % F
и % D
.
Примеры:
NSLog(@"%@", songTitle);
NSLog(@"%@", songDuration);
NSLog(@"%f", [songDuration floatValue]);
NSLog(@"%d", [songDuration integerValue]);