উদ্দেশ্য-সিতে একটি এনএসআরএল এর অংশ পান


114

এর মান সহ আমার একটি এনএসএসস্ট্রিং রয়েছে

http://digg.com/news/business/24hr

আমি কীভাবে তৃতীয় স্তরের আগে সবকিছু পেতে পারি?

http://digg.com/news/

উত্তর:


435

এটি ঠিক তৃতীয় স্তর নয়, মনে রাখবেন। একটি URL এমনভাবে বিভক্ত:

  • প্রোটোকল বা স্কিম (এখানে, http)
  • ://বিভেদক
  • ব্যবহারকারীর নাম এবং পাসওয়ার্ড (এখানে কোনও নেই, তবে এটি হতে পারে username:password@hostname)
  • হোস্টের নাম (এখানে, digg.com)
  • বন্দর (যে :80উদাহরণস্বরূপ ডোমেন নামের পরে হবে )
  • পথ (এখানে, /news/business/24hr)
  • প্যারামিটার স্ট্রিং (যে কোনও কিছু সেমিকোলন অনুসরণ করে)
  • প্রশ্নের স্ট্রিং (এটি যদি আপনার মতো প্যারামিটারগুলি থাকে তবে হবে ?foo=bar&baz=frob)
  • খণ্ডটি (এটি যদি আপনার লিঙ্কটিতে একটি অ্যাঙ্কর থাকে তবে #foobar))

একটি "সম্পূর্ণ বৈশিষ্ট্যযুক্ত" ইউআরএল দেখতে এই রকম হবে:

http://foobar:nicate@example.com:8080/some/path/file.html;params-here?foo=bar#baz

NSURLঅ্যাক্সেসর বিস্তৃত আছে। আপনি NSURLক্লাসের জন্য ডকুমেন্টেশনে তাদের পরীক্ষা করতে পারেন , ইউআরএলের অংশগুলি অ্যাক্সেস করা বিভাগ । দ্রুত রেফারেন্সের জন্য:

  • -[NSURL scheme] = http
  • -[NSURL resourceSpecifier] = (ইউআরএল // থেকে শেষ পর্যন্ত সমস্ত কিছু)
  • -[NSURL user] = ফুবার
  • -[NSURL password] = নিট
  • -[NSURL host] = উদাহরণ.com
  • -[NSURL port] = 8080
  • -[NSURL path] = /some/path/file.html
  • -[NSURL pathComponents] = @ ["/", "কিছু", "পথ", "ফাইল এইচটিএমএল"] (লক্ষ করুন যে প্রাথমিক / এটির অংশ)
  • -[NSURL lastPathComponent] = file.html
  • -[NSURL pathExtension] = এইচটিএমএল
  • -[NSURL parameterString] = প্যারাম-এখানে
  • -[NSURL query] = foo = বার
  • -[NSURL fragment] = বাজ

আপনি যা চাইবেন তা হ'ল কিছুটা:

NSURL* url = [NSURL URLWithString:@"http://digg.com/news/business/24hr"];
NSString* reducedUrl = [NSString stringWithFormat:
    @"%@://%@/%@",
    url.scheme,
    url.host,
    url.pathComponents[1]];

আপনার উদাহরণ URL এর জন্য, আপনি যা চান বলে মনে হচ্ছে তা হ'ল প্রোটোকল, হোস্ট এবং প্রথম পাথ উপাদান component (অ্যারেতে সূচক 0-এ থাকা উপাদানটি -[NSString pathComponents]সহজেই "/" হয়, সুতরাং আপনি সূচক 1 এ উপাদানটি চাইবেন other অন্যান্য স্ল্যাশগুলি বাতিল করা হয়েছে))


9
যে কারও এটি পড়ার জন্য: আপনাকে [url.pathComponents objectAtIndex:1]সূচকের পরিবর্তে পেতে হবে 0, কারণ স্ল্যাশগুলি আসলে অ্যারের উপাদান কারণ আউটপুটটির এই উত্তরটির কোড তৈরি করেhttp://digg.com//
ডাইমা

@ ডিমা, ভাল ধরা তবে, কেবল প্রথম স্ল্যাশকেই পথের উপাদান হিসাবে বিবেচনা করা হয়, অন্যগুলি বাদ দেওয়া হয়। আমি নিশ্চিত না কেন, যদিও।
জিনাক করুন

আপনার পক্ষ থেকে ভাল ধরা! এমনকি আমি এটি একটি দিয়েও চেক করিনি।
Dima

বুলেট পয়েন্ট তালিকা থেকে আমরা ফাইলের নামটি নিখোঁজ করছি? এই উদাহরণস্বরূপ, file.htmlবুলেট পয়েন্টগুলিতে তালিকাভুক্ত নয় - আমি দেখছি আমরা কোয়েরি স্ট্রিংয়ের দিকে ঝাঁপিয়ে পড়েছি ...
ব্রেট

2
digg.com? এই পোস্টের বয়স কত! ;-)
ড্যারেন

7

খেলার মাঠ, ভাষা সুইফ্ট ব্যবহার করে, আমি এটি পেয়েছি! খেলার মাঠ এটি কার্যকরভাবে দেখার একটি ইন্টারেক্টিভ উপায় সরবরাহ করে। আমি আশা করি আপনিও একই কাজটি উপভোগ করতে পারবেন, এনএসআরএলকে আইওএসের একটি গুরুত্বপূর্ণ বিষয় শেখার একটি মজাদার উপায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.