私は数日間のようにこのエラーをデバッグしようとしていますが、本当に私のオブジェクトで起こっているものを把握しているように見えません。 コードは次のようになります。 - (BOOL)のWebView:(のUIWebView *)のWebView shouldStartLoadWithRequest:(NSURLRequest *)要求navigationType:クリックしたリンクから(UIWebViewNavigationType)navigationType { //抽出データ私のカスタムクラスオブジェクトは、それを保持した後でも解放されます
SongObject *データ= [[SongObject ALLOC] INIT]。 [データ保持]; selectedSong =データ。 }
selectedSongはメインクラスのパブリック変数ですが、今は奇妙なことですが、上記のメソッドを使用することは、他の場所でもshoulStartLoadWithRequestでも機能します。
私は「範囲外です」と言いますが、「shouldStartLoadWithRequest」が私のオブジェクトをオートレースしているという狂った理由がありますか?
アイデアはありますか?
編集:これは、selectedSongが保持すると思われるHおよびMファイルです。
#import <Foundation/Foundation.h>
#import "SongObject.h"
@interface SongObject : NSObject<NSCopying> {
NSString *artist;
NSString *titel;
NSString *album;
NSString *genre;
NSString *songUrl;
NSString *rating;
NSString *image;
BOOL local;
}
@property (readonly) NSString *getArtist;
@property (readonly) NSString *getTitle;
@property (readonly) NSString *getAlbum;
@property (readonly) NSString *getGenre;
@property (readonly) NSString *getSongURL;
@property (readonly) NSString *getRating;
@property (readonly) NSString *getImage;
@property (readonly) BOOL isLocal;
-(void) setInfo:(NSString *) a: (NSString*) t: (NSString*) ab: (NSString*)g: (NSString*)sU: (NSString*)r: (NSString*) i: (BOOL) loc;
@end
#import "SongObject.h"
@implementation SongObject
-(id)init
{
if(self =[super init])
{
NSLog(@"Init songobject");
}
return self;
}
-(id) copyWithZone: (NSZone *) zone {
SongObject *newSong = [[SongObject allocWithZone:zone] init];
NSLog(@"_copy: %@", [newSong self]);
[newSong setInfo:[self getArtist] :[self getTitle] :[self getAlbum] :[self getGenre] :[self getSongURL] :[self getRating] :[self getImage] :[self isLocal]];
return(newSong);
}
-(void)dealloc
{
NSLog(@"Songobject deallocted from memory...");
[super dealloc];
}
-(void) setInfo:(NSString *) a: (NSString*) t: (NSString*) ab: (NSString*)g: (NSString*)sU: (NSString*)r: (NSString*) i: (BOOL) loc{
artist = a;
titel = t;
album = ab;
genre = g;
songUrl = sU;
rating = r;
image = i;
local = loc;
}
-(NSString*)getArtist
{
return artist;
}
-(NSString*)getTitle
{
return titel;
}
-(NSString*)getAlbum
{
return album;
}
-(NSString*)getGenre
{
return genre;
}
-(NSString*)getSongURL
{
return songUrl;
}
-(NSString*)getRating
{
return rating;
}
-(NSString*)getImage
{
return image;
}
-(BOOL)isLocal{
return local;
}
@end
これはselectedSongが保持すべきクラスファイルです。 –
また、NSLog(@ "Artist:"、[selectedSong getArtist])のようにNSLogを使用する場合は、何も返しません。 –