isEqual:এবং মধ্যে পার্থক্য কিisEqualToString: ?
ক্লাসগুলি কেবল ওভাররাইডের পরিবর্তে কেন ইস্কেলটো * পদ্ধতিগুলি (এনএসআরির জন্য ইস্কলটিওআরএ, ইস্কুয়ালটোডাটা, ...) যুক্ত করছে isEqual:?
isEqual:এবং মধ্যে পার্থক্য কিisEqualToString: ?
ক্লাসগুলি কেবল ওভাররাইডের পরিবর্তে কেন ইস্কেলটো * পদ্ধতিগুলি (এনএসআরির জন্য ইস্কলটিওআরএ, ইস্কুয়ালটোডাটা, ...) যুক্ত করছে isEqual:?
উত্তর:
isEqual:একটি স্ট্রিংকে একটি অবজেক্টের সাথে তুলনা করে এবং NOবস্তুটি স্ট্রিং না হলে ফিরে আসবে । isEqualToString:যদি আপনি জানেন যে উভয় বস্তু স্ট্রিং, যেমন ডকুমেন্টেশনে বলা হয়েছে:
বিশেষ বিবেচ্য বিষয়
যখন আপনি জানেন যে উভয় বস্তু স্ট্রিং, তখন এই পদ্ধতির তুলনায় সমতা যাচাই করার একটি দ্রুত উপায়
isEqual:।
isEqualTo<Class>সাম্যতার জন্য নির্দিষ্ট চেক সরবরাহ করতে ব্যবহৃত হয়। এই ক্ষেত্রে; isEqualToArray:অ্যারেগুলিতে সমান সংখ্যক অবজেক্ট রয়েছে এবং এটি একটি নির্দিষ্ট সূচীতে বস্তুগুলি পরীক্ষার YESজন্য ফিরে আসে তা isEqual:পরীক্ষা করে।
এছাড়াও, আপনার নিজস্ব -isEqual:এবং -isEqualTo<Class>:পদ্ধতিগুলি লেখার জন্য , কনভেনশনটি শূন্য তর্কগুলির পক্ষে শূন্য তর্ক করার অনুমতি দেয় -isEqual:এবং-isEqualTo<Class>:
আমার অনুমান যে এটি একটি সামান্য পারফরম্যান্স বর্ধন সরবরাহ করে, যেমন এক্যুয়ালটোস্ট্রিং: কী পাস হয়েছে তা টাইপ-চেক করতে হবে না।
@ অ্যাবিজার্ন এবং @ জোনাথন ড্যানের উত্তরগুলিতে প্রসারিত, উভয়ই মূল্যবোধ isEqualনিয়ে isEqualToStringকাজ করে nil।
- (void)testStringEqual {
NSString *string = nil;
STAssertFalse([string isEqual:@"test"], @"NSString isEqual");
STAssertFalse([string isEqualToString:@"test"], @"NSString isEqualToString");
// Note that these both return NO
STAssertFalse([string isEqual:nil], @"NSString isEqual");
STAssertFalse([string isEqualToString:nil], @"NSString isEqualToString");
string = @"test";
STAssertTrue([string isEqual:@"test"], @"NSString isEqual");
STAssertTrue([string isEqualToString:@"test"], @"NSString isEqualToString");
STAssertFalse([string isEqual:nil], @"NSString isEqual");
STAssertFalse([string isEqualToString:nil], @"NSString isEqualToString");
}
আমি অত্যন্ত সুপারিশ এই । ইক্যুয়েলটোস্ট্রিংয়ের পারফরম্যান্স সুবিধাগুলি মূলত বেশিরভাগ অ্যাপ্লিকেশনের জন্য নগণ্য। তবে লেখক উল্লেখ করেছেন আরও দুটি ভিন্নতা:
nilহ্যান্ডলড হয়