我想创建一个对实现协议的对象的引用。这是一个示例代码:
@interface TestClass ()
@property id <TestProtocol> testProperty;
@end
@implementation TestClass
+(id)init :(id <TestProtocol> test)
{
TestClass *testClass = [[TestClass alloc] init];
testClass.testProperty = test;
return testClass;
}
@end
然后是否会创建实现协议或引用的测试对象的副本?我想知道因为没有&#34; *&#34;标志。如果是副本,我该如何创建引用呢?
答案 0 :(得分:0)
类型var input = @"<a href=""/setprefs?suggon=2&prev=https://www.test.com/search?q%3D%2Band%2B%26espv%3D2%26biw%3D960%26bih%3D489%26source%3Dlnms%26tbm%3Disch%26sa%3DX%26ei%3DYrxxVb-hJqac7gba0YOgDQ%26ved%3D0CAYQ_AUoAQ&sig=0_seDQVVTDQQx1hvN3BRktZNFc9Ew%3D"" style=""left:-1000em;position:absolute"">Screen-reader users, click here to turn off ggg Instant.</a>";
var needle = @"href=""";
var start = input.IndexOf(needle);
if (start != -1)
{
start += needle.Length;
var end = input.IndexOf(@"""", start);
// final result:
var href = input.Substring(start, end - start).Dump();
}
是一种指针类型,可以保存指向任何对象的指针。
Objective-C中没有类型包含&#34;对象&#34;本身。对象只能通过指向对象的指针来使用。