ฉันมีวิธีที่ส่งคืนอินสแตนซ์ CGColorRef ที่สร้างโดยวิธี CGColorCreate ฉันต้องปล่อยสีที่ส่งคืนโดยอัตโนมัติจากวิธีนี้ ไม่มีใครรู้วิธีการทำเช่นนี้?
//red,green,blue are from 0-255 range
+(CGColorRef) getColorFromRed:(int)red Green:(int)green Blue:(int)blue Alpha:(int)alpha
{
CGFloat r = (CGFloat) red/255.0;
CGFloat g = (CGFloat) green/255.0;
CGFloat b = (CGFloat) blue/255.0;
CGFloat a = (CGFloat) alpha/255.0;
CGFloat components[4] = {r,g,b,a};
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGColorRef color = CGColorCreate(colorSpace, components);
CGColorSpaceRelease(colorSpace);
//CGColorRelease(color);
// I need to auto release the color before returning from this.
return color;
}
get
เท่านั้น หากใช้พอยน์เตอร์ที่ต้องกรอกข้อมูลเป็นอาร์กิวเมนต์ ชื่อที่ดีกว่าในที่นี้คือ+ (CGColorRef)CGColorWithRed:(int)red green:(int)green blue:(int)blue alpha:(int)alpha
(ตามหลังผู้นำของเมธอดNSColor
/UIColor
) - person Wevah   schedule 17.08.2010